您的位置:首页 > 其它

6.0字符串String

2016-02-29 21:26 330 查看
大纲:



6.1创建字符串

定义:String类即字符串类型,并不是JAVA的基本数据类型,但可以像基本数据类型一样用,用双引号括起来进行声明。在JAVA中用String类的构造类型方法来创建字符串变量。常用构造方法如下:

1.String()

一个String对象,可以表示一个空字符序列。

<例>:String s=new String();

2. String(char a[])

用一个字符数组a创建String对象。

<例>:char a[]=new char{'我','爱','你'};

String s=new String(a);

//等价于:String s=new String(“我爱你”);

3.String(char a[],int offset,int length)

提取字符数组a中的一部分创建一个字符串对象。参数offset表示开始截取字符串的位置,length表示截取字符串的长度。

<例>:char a[]={'s','t','r','i','n','g'};

String s=String(a,1,3);

//等价于:String s={“tri”};

6.2字符串操作

定义:对于已经声明的字符串,可以对其进行相应的操作,String类中包含很多方法。

6.2.1字符串连接

1.多个字符串连接

连接多个字符串时,在每两个连接的字符串之间用“+”相连,“+”就是字符串的连接符,连接后生成一个新的字符串。

<例>:String s1=new String ("hello");

String s2=new String ("word");

String s=s1+" "+s2;

运行结果:hello word

2.连接其他数据类型

在字符串和其他数据类型连接时,同时使用"+"连接符,连接之后的返回值是字符串.

<例>:int booktime=4;

float computer=2.5f;

System.out.println("我每天花"+booktime+"个小时看书,用"+computer+"个小时上机操作.");

6.2.2获取字符串信息

1.获取字符串长度

str.length();方法

***str:指的是字符串对象

***返回值:int类型的字符串长度

String a="hello world";

System.out.println(a.length);//输出11.

***空格也算长度

2.获取指定字符的索引位置

str.indexOf(substr);//返回字符首次出现位置的索引

str.lastindexOf(substr);//返回字符最后出现位置的索引

str:任意字符串对象

substr:要搜索的字符

在计算机中,返回的String对象索引都是从0开始的.

3.获取指定索引位置的字符

使用String类的charAt()方法可获取指定索引处的索引下的字符,返回字符的索引,

格式: str.charAt(int index);

*** str:任意字符串

*** index:整型值,用于指定要返回的字符的下标.

*** 返回值:返回指定索引位置的字符.

<例>:String s="hello world";

char s1=s.charAt(0);

System.out.println(s1);//输出:h

6.2.3判断字符串

判断字符串主要是判断字符串是否相等,判断字符串是否以指定的字符串开始或结尾.这里讲的是判断字符串是否相等.

(1) equals()方法

使用equals方法对字符串进行比较时严格区分大小写的,再此条件下,如果两个字符串扔具有相同的字符和长度,则返回true,否则返回folse.

语法:str.equals(String otherstr)

***str:参与比较的一个字符串对象

***otherstr:参加比较的另一个字符串对象

***返回值:返回boolean类型.

(2) equalslgnoreCase()方法

使用equalslgnoreCase方法对字符串进行比较时忽略区分大小写的,再此条件下,如果两个字符串扔具有相同的字符和长度,则返回true,否则返回folse.

语法:str.equalslgnoreCase(String otherstr)

***str:参与比较的一个字符串对象

***otherstr:参加比较的另一个字符串对象

***返回值:返回boolean类型.

在字符串比较中,不允许使用"==",这是严重错误.

package 基本数据类型;

public class String字符串 {

public static void main(String[] args) {
//String    不同定义方法意义不同
String str="字符串常量";
String str1=new String("字符串常量");//构造方法,
String str2=new String("字符串常量");//new开辟新的内存空间
String str3="字符串常量";
System.out.println(str);
System.out.println(str1);
System.out.println(str2);
System.out.println(str==str1);//返回false,因为定义方式不同,意义不同
System.out.println(str==str2);//返回false,因为定义方式不同,意义不同
System.out.println(str1==str2);//返回false,因为定义方式不同,意义不同
System.out.println(str==str3);//返回true,因为定义方式相同,意义相同

//==运算实际比较的是内存地址是否相等,本质不是不是比较值,用new时不适用
//解决方法    .equals
System.out.println(str1.equals(str2));//true,这个才是表示字符串是否相等
System.out.println(str.equals(str1));

//字符串信息
//.length()字符串长度,带括号的是方法,不带括号的是属性
System.out.println("str字符串长度="+str.length());
//传入参数
char[]c=new char[]{'我','很','好'};
String str4=new String(c);
System.out.println(str4);
//.indexOf从(前往后)查找字符串中子字符串的首个位置,返回找到后的首字的索引值
//有再多也返回第一个 .indexOf
System.out.println("常字的位置="+str.indexOf("常"));
//返回第一个字的位置
System.out.println("常字的位置="+str.indexOf("串常量"));
//如果字符串中查找不到,返回-1   判断包含某个字符串,<0没有,>=0包含
System.out.println("常字的位置="+str.indexOf("xxx"));

//.lastIndexOf检索从(后往前)查找位置,但是返回索引值仍是从0开始
System.out.println(str.lastIndexOf("常"));

//获取字符
char c1=str.charAt(0);
System.out.println(c1);
}

}

答案:
字符串常量
字符串常量
字符串常量
false
false
false
true
true
true
str字符串长度=5
我很好
常字的位置=3
常字的位置=2
常字的位置=-1
3
字
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: