基础篇4.0字符串
字符串即string类,是Java中一个比较特殊的类,它不是Java的基本数据类型之一,却可以像基本数据类型一样使用,像声明和初始化等操作都是相同的,并且使用非常频繁,是程序经常处理的对象,如果处理不好就会影响程序运行的效率,所以学好string类的用法是很重要的。
创建字符串
string类即字符串类型,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双引号括起来进行声明。在Java中用string类的构造方法来创建字符串变量。常用的构造方法如下:
1).string()
一个string对象,可表示一个空字符序列。
使用string()方法初始化一个新创建的string对象。string s = new string();
2).string(char a[])
用一个字符数组a创建string对象。
使用string(char a[])方法创建string对象。string s = new string("good")。char a[]={'g','o','o','d'};
string s = new string(a);
3).string(char a[],int offset,int length)
提取字符数组a中的一部分创建一个字符串对象。参数offset表示开始截取字符串的位置,length表示截取字符串的长度。
使用string(char a[],int offset,int length)方法创建string对象。 char a[]={'s','t','u','d','e','n','t'}; string s = new string(a,2,4); =(等价于)=》string s = new string(“uden”);
字符串操作
对于已经声明的字符串,可以对其进行相应的操作,string类中保护很多方法。
字符串连接
1)多个字符串连接
连接多个字符串时,在每两个连接的字符串之间用“+”相连,“+”就是字符串的连接符,连接之后生成了一个新的字符串。
注意:Java中的字符串不能分开在两行中写。如果一个字符串太长,需要将这个字符串分在两行上写,此时可以使用“+”将两个字符串连起来,并在加号处换行。
2).连接其他数据类型
在字符串和其他数据类型连接时,同样使用“+”连接符,连接之后的返回值是字符串。
注意:只要“+”运算符的一个操作类型是字符串,编译器就会将另外的操作类型转换成字符串形式,所以应该谨慎地将其他数据类型与字符串相连,以免得到意想不到的结果。
获取字符串信息
(概念)字符串变量是一个对象,可以通过相应方法获取字符串的有效信息,如获取字符串的长度、获取指定字符的索引位置等。
1)获取字符串长度
使用string类的length()方法可获取声明的字符串对象的长度。语法格式:
str.length();
str:指定字符串对象。返回值:返回指定字符串的长度。
注意:获取字符串“we are students”的长度,运行结果是15,很明显在计算字符串长度时字符串中的空格也被计算在内了。
2)获取指定字符的索引位置
string类提供了indexof()和lastindexof()方法来获取指定字符的索引位置,不同的是,indexof()方法返回的是搜索的字符首次出现的位置的索引,而lastindexof()方法返回的是搜索的字符串最后出现位置的索引。
(1)indexof()方法
调用字符串的indexof()方法搜索s时,会从字符串的起始位置依次搜索,返回s首次出现位置的索引,如果没有检索到字符串s,返回-1.
str.indexof()
str:任意字符串对象。substr:要搜索的字符。返回值:返回字符序列中第一次出现该字符的索引。
注意:运行结果是7,说明在计算机中string对象的索引是从0开始的。
(2)lastindexof()方法
调用字符串的lastindexof()方法搜索s时,会从字符串的起始位置依次搜索,返回s最后出现位置的索引,如果没有检索到字符串s则返回-1.语法格式:
str.lastindexOf(substr)
str:任意字符串对象。substr:要搜索的字符串。返回值:返回字符序列中最后出现的该字符的索引。
注意:如果调用lastindexof()方法中的参数是空字符“ ”,则返回的结果与调用该字符串的length()方法的返回结果相同。

(3)获取指定索引位置的字符
使用string类的charAt()方法可获取指定索引出的字符,返回字符的索引。语法格式:
str.charAt(int index)
str:任意字符串。index:整型值,用于指定要返回字符的下标。返回值:返回指定索引位置的字符。
3)去除字符串中的空格
去掉字符串中的空格有两种,一是去除字符串的前导、尾部空格,二是去除字符串中的所有空格,可以用不同的方法来实现。
(1)去除字符串的前导、尾部空格。语法格式:
str.trim()
str:任意的字符串对象。返回值:去除前导和尾部空格后的字符串。
注意:结果显示此方法去除了字符串的前导空格和尾部空格,而中间的一个空格并没有去除。
(1)去除字符串中的所有空格
去除字符串中所有空格可以用stringtokenizer()和replaceall()方法来实现
stringtokenizer()方法,该方法利用分割和追加实现去除空格的目的。语法格式为:stringtokenizer(string str,string delim)
str:要去除空格的字符串。delim从字符串str中去除的字符串。返回值:去掉所有空格后的字符串。
replaceAll()方法,盖饭昂发是将空格“ ”用“”替换,以达到去除字符串中空格的目的,语法格式:
str.replaceAll(String regex,String replacement)
str:要去除空格的字符串。regex:str中想要被替换的字符串。replacement:新字符串,用来替换每个RegEx。返回值:去掉所有空格后的字符串。
4)字符串替换
浙公网安备 33010602011771号