在介绍String类之前,把上一篇中最后的小问题中的代码给大家看一下,不知道大家都是怎么做的。
大家都用自己的方法实现了吗?
String类
字符串是常量,他们可以显示任何文字信息,字符串的值在创建之后不能更改,在Java语言中,单引号中的内容表示字符,例如‘s’,而双引号中的内容则表示字符串。“我是字符串”。
Java通过java.long.String类来创建可以保存字符串的变量,所以字符串变量是一个对象。
String a;
String a,b;
在不给字符串变量赋值的情况加,默认值为null,就是空对象,如果此时调用String的方法会发生空指针异常。
创建字符串
直接用字符串常量赋值给String变量。
String a = "时间就是金钱";
String b = "点个关注被",c="求求你们了";
String str,str1;
str = "game";
str2="game";
使用new关键字创建String对象。
String a= new String("啦啦啦啦");
String b = new String(a);
利用字符数组
char [] arr = {'g','a','m','e'};
String a = new String(arr);
提取字符数组中的一部分创建字符串变量
char [] arr = {‘p’,'l','a','y','g','a','m','e'};
String a = new String(arr,2,5);
上图。
连接字符串
使用加号可以实现拼接多个字符串的功能。加号可以连接多个字符串并产生一个新的字符串。除了加号也可以使用“+=”运算符来拼接字符串。上图。
Java中的字符串不可直接分成两行。如果一个字符串太长,为了方便阅读,可以分成两个字符串然后用加号连接。
连接其他数据类型
字符串也可以同其他基本数据类型进行连接。如果将字符串同这些数据类型进行连接,会将这些数据直接转换成字符串。上图。
这里的a和b都不是字符串,当他们与字符串相连时会自动调用toString()方法,将其转换成字符串形式,然后参与连接。只要“+”运算符的一个操作数是字符串,编译器就会将另一个操作数转换成字符串类型,所以应当谨慎的将其他数据类型与字符串相连,以免出现意想不到的结果。自如穿在计算公式中的先后顺序会影响运算结果。
获取字符串的长度
length()方法放回采用UTF-16的编码表示字符的数量,也就是char的数量。
这段代码的意思是,定义一个名为a的字符串对象。然后把字符串的长度赋值给int类型的变量size,然后输出size。而且我们可以看到,字符串的长度包括字符串中间的空格。字符串的length()方法是成员方法,后面要加括号。而数组的length是一个属性,是没有括号的。
获取指定的字符
str.charAt(index)
这个方法可以指定索引处的字符返回。
str 任意字符串对象。
index char值的索引。
获取子字符串索引位置
String类提供了两种查找字符串的方法,即indexOf()与lastIndexOf()方法。indexOf()方法返回的是搜索的字符或字符串首次出现的位置,lastIndexOf()方法返回的是搜索的字符或字符串最后一次出现的位置。
a.indexOf(substr);
a:任意字符串对象。
substr:要搜索的字符串。如果没有检索到字符串,该方法返回值是-1。
可以看到,indexOf()方法会在搜索到字符串第一个字母之后就返回其位置。不会再继续搜索。而在计算机中String对象使用数组表示的。字符串的下标是0~length()-1。所以输出的值是1。我们也可以通过这个方法来