在Java中字符串作为Sting类的实例来处理。以对象的方式处理字符串,将使字符串的处理更加灵活、方便。
1.1声明字符串
声明字符串变量:
String 【变量名】 = 【null】
声明字符串变量必须经过初始化才能使用,否则编译器会报出“变量未被初始化“错误;
1.2创建字符串
String的常见构造方法如下,
#形如 String(char a[]) (用一个字符数组a 创建String对象)
char a[ ] ={'g','o','o','d'};
String s =new String(a);
#形如 String(char a[ ] , int offset , int length); //提取字符数组a中的一部分创建一个字符串对象,参数offset表示开始截取字符串的位置,length表示截取的字符串的长度。
示例代码:
char a[ ] ={'s','t','u','d','e','n','t'};
String s = new String(a,2,4);
等价于:
String s =new String ("uden");//字符数组的位置从0号开始,从相应编号起算1个;
#形如 String(char [ ] value ); //分配一个新的String对象,使其表示字符数组参数中所有元素链接的结果。
示例代码:
char a[ ]={'s','t','u','d','e','n','t'};
String s=new String(a);
相当于两步,首先将字符数组a中的字符连接成一个字符串,然后将最后一位替换成结束符;
结果相当于:
String s =new String ("studen");
#最后方法:通过字符串常量的引用赋值给一个字符串常量;
示例代码:
String str1,str2;
str1= "We are students";
str2=str1;
2字符串操作
2.1链接字符串
2.1.1链接多个字符串
使用 + 运算符可实现链接多个字符串的功能
示例:
public class Join{
public static void man(String [] args){
String s1=new String("hello");
String s2=new String("word");
String str3=str1+"\n"+str2;//加转义字符也可
System.out.println(s);
}
}
另如果一个字符串过长,可利用+号,进行换行书写。
如:
System.out.println(”This is a very "+
"long string!“);
但这样是错误的:
System.out.println("This kind of write
is wrong !");
链接其他数据类型:
如果将字符串同这些数据类型进行链接,会将这些数据直接转换成字符串;
示例代码:
public class Link{
public static void main(String [ ] args){
int codetime=4;
float practice= 2.5f;
//将字符串与整形、浮点型变量相连,并将结果输出
System.out .println("我每天花费"+codetime+”小时编码“+
practice+”小时练习“);
}
}
//当他们与字符串相连时会自动调用toString方法,将其转换为字符串形式,然后参与链接。只要+号运算符的一个操作数是字符串,编译器就会将另一个操作数转换为成字符串形式,所以应谨对待将其他数据类型与字符串相连。
3.获取字符串信息
字符串作为对象,可用相应的方法获取字符串的有效信息,如:获取字符串长度,某个索引位置的字符等。
3.1获取字符串长度
使用String类的 length()方法获取字符串长度,返回的字符串长度包括字符串中的空格。
示例代码:
String str = "We are students";
int size =str.length();
3.2字符串查找
(1)indexOf(String s)
该方法用于返回参数字符串(当需要搜字符时使用字符串的方式就行了,如下边给出的例子)s在指定字符串中首次出现的索引位置(0开始的编号)
调用该方法indexof()会从当前字符串的开始位置搜索s的位置,如果,没有检索到s,该方法的返回值是-1.
语法如下:
字符串对象 . indexof([检索字符串]);
例子:
String str =”We are student。“
int position = str.indexOf("a");
(2)lastIndexOf(String str)
该方法用于返回指定字符串最后一次出现的索引位置。从当前字符串开始位置检索参数字符串,并将最后一次出现的索引位置返回,若没有检测到返回-1;
语法如下:
字符串对象 . lastIndexOf([检索字符串])
说明:如果lastIndexOf();方法的参数是空字符串 ”“(双引号中间没有空格),则返回的结果与调用该字符串的length方法一样。
例子:
public class Text{
public static void mian (String[] args){
String str ="We are student.";
//将 ”空字符串“ 在str中的索引位置赋值给变量size
int size =str.lastIndexOf("");
//将变量size输出
System.out.printl("空字符串在字符串中的索引位置为:"size);
//将字符串str的长度输出
System.out.println(“字符串的长度为:”+str.length());
}
}
3.3获取指定所因为值得字符:
使用charAt()方法;语法如下:
字符串对象 . charAt(int index);
实例:
String str =”hello world“
char mychar = str.char(5);//指的是索引位置5
4.字符串操作