基础篇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)字符串替换

  

posted on 2017-05-24 15:54  L1nus  阅读(155)  评论(0)    收藏  举报

导航