字符串即string类,是Java中一个比较特殊的类,它不是Jave的基本数据类型之一,却可以像基本数据类型一样使用,像声明各初始化等操作都是相同的,并且使用非常频繁,是程序经常处理的对象,如果处理不好就会影响唾弃运行的效率所以学好string类的用法是很重要的。
创建字符串
string类即字符串类型,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双引号括起来进行声明,在Jave中用string类的构造方法来创建字符串变量。常用的构造方法如:
1.String()
一个String对象,可以表示一个空字符序列。
使用String()方法初始化一个新创建的String对象。
String s = new String();
2.String(char a[])
用一个字符数组a创建String对象
使用String(char a[])方法创建String对象
char a[]={'g','o','o','d'};
String s = new String(a);
等价于
String s = new String("good")
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.多个字符串连接
连接多个字符串时,在每两个连接的字符串之间用“+”相连,“String”就是字符串的连接符,连接后生成一个新的字符串。
使用“+”运算符完成对多个字符串的连接
String s1 = new String("hello"); //声明String对象s1
String s2 = new String("word"); //声明String对象s2
String s3 = s1+" "+s2; //将对象s1和s2连接后的结果赋值给s3
Jave中的字符串不能分开在两行中写。如果一个字符串太长,需要将这个字符串分在两行上书写以时可以使用“+”将两个字符串连接起来,并在加号处换行。
2.链接其他数据类型
在字符串和其他数据类型连接时,时样使用“+”连接符,链接之后的返回值是字符串
在项目中创建类,在主方法中创建数值型变量,实现将字符串与整型,浮点型变量相连的结果输出
public class Link{
public static void main(String args[]){
int booktime = 4;
float practice = 2.5f;
System.out.println("我每天花费"+booktime+"小时看书;"+practice+"小时上机练习;");
}
}
运行结果:我每天花费4小时看书;2.5小时上机练习;
这里和都不是字符串,当其他数据类型与字符串相连时会自动将其转换成字符串类型,然后进行连接。
注意:只要“+”运算符的一个操作类型是字符串,编译器就会将另外的操作类型转换成字符串形式,所以应谨慎地将其他数据类型与字符串相连,以免得到意想不到的结果。
获取字符串信息
字符串变量是一个对象,可以通过相应方法获取字符串的有效信息,如获取字符串的长度,获取指定字符的索引位置等。
1.获取字符串的长度
使用String类的length()方法可以获取声明的字符串对象的长度。语法格式如下:
str.length();
str:指定的字符串对象
返回值:返回指定字符串的长度。
使用length()方法得出字符串的长度。
String s = "We are students";
System.out.println("字符串的长度是:"+s.length());
获取字符串”We are students”的长度,运行结果是”字符串的长度是:15”,很明显在计算字符串长度时字符串中的空格也被计算在内了,这点言注意。
2.获取指定字符的索引位置
String类提供了indexOf()和lastIndexOf()方法来获取指定字符的索引位置,不同的是,indexOf()方法返回原是搜索字符首次出现位置的索引,而lastIndexOf()方法返回的是搜索的字符最后出现位置的索引。
1.indexOf()方法
调用字符串的indexOf()方法搜索s时,会从字符串的起始位置依次搜索,返回s首次出现位置的索引,如果没有检索到字符串S返回-1。语法格式如下:
str.indexOf(substr)
str:任意字符串对象
substr:要搜索的字符。
返回值:返回字符序列中第一次出现该字符的索引。
在项目中创建Select类,在主方法中创建String对象,使用indexOf()方法查找字符s在字符串s中的索引位置,并将结果输出。
public class Select{
public static void main(String[]args){
String s = "We are students";
System.out.println("字符s在字符串s中的位置是:"+s.indexOf(s));
}
}
运行结果是7
说明在计算机中String对象的索引是从0开始的,这点需要注意。
2.lastIndexOf()方法
调用字符串的lastIndexOf()方法搜索s时,会从字符串的起始位置依次搜索,返回s最后出现位置的索引,如果没有检索到字符串s,返回-1。语法格式下:
str.lastIndexOf(substr)
str:任意字符串对象
substr:要搜索的字符。
返回值:返回字符序列中最后次出现该字符的索引。
使用lastIndexOf方法查找字符s在字符串s中的索引位置。
String s = "We are students";
System.out.println("字符s在字符串s中的位置是:");
System.out.println(+s.lastIndexOf("s"));
运行的结果是“字符s在字符串s中的位置是:14”
表明此方法输出字符s在字符串s中最后一次出现的位置
注意:如果lastIndexOf()方法中的参数是空字符串” “,则返回的结果与调用该字符串的length()方法的返回结果相同。
3.获取指定索引位置的字符
使用String类的char At()方法可获取指定索引的字符,返回字符的索引。语法格式如下:
str.charAt(int index)
str:任意字符串。
index:整型值,用于指定要返回字符的下标
返回值:返回指定索引位置的字符。
使用charAt()方法查找字符串“hello word”的索引位置是6的字符。
String s = "hello word";
char mychar2=s.charAt(6);
System.out.println("字符串s中索引位置是6的字符为:"+"mychar2");
运行结果是"字符串s中索引位置是6的字符为:w"