字符串:
声明字符串:String str;
含义:声明一个名为str的字符串变量;
1.创建字符串:
1.1.String (char a[])
用一个字符数组a创建String对象。
例如:char a[]={‘a’,’b’,’c’,’d’};
String s=new String(a);
上述写法等价于:String s=new String(“abcd”);
1.2.String(char a[],int offset,int length)
提取字符数组a中的一部分用于创建一个字符串对象,offset表示截取字符串的位置,length表示截取长度。
例如:char a[]={‘a’,’b’,’c’,’d’};
String s=new String(a,1,3);
上述写法等价于:String s=new String(“bcd”);
2.连接字符串
2.1 使用“+”运算符可以实现连接多个字符串的功能。“+”可以连接多个运算符并产生一个String对象。
例如: String s1 =new String(”abc”);
String s2 =new String(”def”);
String s =s1+s2;
输入s字符串的结果为:abcdef
3.获取字符串信息
3.1获取字符串长度
使用String类中的length()方法获取字符串长度。
例如:String str =new String(”abcdef”);
int l=str.length();
输出变量l的值为:6。
上述方式是将字符串str的长度赋值给变量l(字符串str中的空格也计入长度)。
3.2字符串查找
String类中提供两种查找字符串的方式,两种方式都允许在字符串中搜索指定条件的字符和字符串:
方式1:indexOf()方法,该方法返回的是搜索的字符或者字符串首次出现的位置,如果字符串中未找到索要搜索的字符串,返回值为-1。
例如:String str =new String(”abcdef”);
int l=str.indexOf(“d”);
返回给l的值为3,即该字符或者字符串在str中第一次出现的位置是3。
方式2:lastIndexOf()方法,返回的是搜索的字符或者字符串最后一次出现的位置。如果字符串中未找到索要搜索的字符串,返回值为-1。
例如:String str =new String(”abcabc”);
int l=str.lastIndexOf(“a”);
返回给l的值为3,即该字符或者字符串在str最后一次出现的位置是3。
3.3获取指定索引位置的字符
使用charAt()方法可以将指定索引处的字符返回。
语法:str.charAt(int index)
str:任意的字符串
index:任意的整形变量,表示需要返回字符的下标
例如:String str =new String(”abcdef”);
char c=str.charAt(3);
返回给变量c的是下标为3的字符为d。
3.4获取子字符串
通过String类中的substring()方法可对字符串进行截取。截取存在两种方式:
方式1:截取从指定索引位置开始到该字符串结尾的子串:
语法:str.substring(int begin)
str:任意的字符串
begin:指定的索引位置
例如:String str=new Sting(“abcd”);
String s=str.substring(1);
返回给字符串s的字符串为bcd。
方法2:截取从某一索引位置开始,到某一索引位置结束的子串:
语法:str.substring(int begin,int end)
str:任意字符串
begin:指定的起始索引位置
end:指定的结束索引位置
例如:String str=new String(“abcdef”);
String s=str.substring(1,4);
返回给字符串s的字符串为bcd。
3.5字符串替换
replace()方法可以实现将指定的字符或者字符串替换成新的字符或者字符串,该替换会将字符串中所有出现的指定字符或者字符串全部替环,替换时区别字符串的大小写。
语法:str.replace(char oldchar,char newchar)
str:任意字符串
oldchar:需要替换的字符串或者字符串
newchar:用于替换原来字符串的内容
例如:String str=new String(“aaaaabbbbb”);
String s=str.replace(“aa”,”c”);
返回给字符串s的字符串为ccabbbbb。
3.6判断字符串是否相等
方法1:equals()方法,当两个字符串具有相同的字符(其中相同字母的大小写也必须一致)和长度,使用该方法时,两字符串相同时返回turn,否则返回false。
语法:str.equals(Sting str1)
str和str1为两个需要比较的字符串对象。
例如:String str =new String(“abcd”);
String str1 =new String(“abcd”);
String str2 =new String(“ABCD”);
boolean s1=str.equals(str1);
boolean s2=str.equals(str2);
s1的返回结果为true。
s2的返回结果为false。
方法2:equalsIgnoreCase()方法,同样是比较两个字符串是否相等,但是在比较时忽略比较字符串的大小写,两字符串相同时返回turn,否则返回false。
语法:str. equalsIgnoreCase (Sting str1)
str和str1为两个需要比较的字符串对象。
例如:String str =new String(“abcd”);
String str1 =new String(“abcd”);
boolean s1=str.equalsIgnoreCase(str1);
boolean s2=str.equalsIgnoreCase(str2);
s1的返回结果为true。
s2的返回结果为true。
3.7按字典顺序比较两个字符串
compareTo()方法为按照字典序比较两个字符串,该比较基于字符串中每个字符的Unicode编码,按照字典序将String对象表示的字符序列与参数字符串所表示的序列进行比较。如果按照字典序此String对象位于参数字符串之前,比较结果为一个负数;位于参数字符串之后,比较结果为一个正数;两字符串相等的话结果为0(区分字母的大小写)。
语法:str.compareTo(str1)
str和str1是要比较的两个字符串对象。
例如:String str =new String("abcd");
String str1 =new String("abcd");
String str2 =new String("ABCD");
int s1 = str.compareTo(str1);
int s2 = str.compareTo(str2);
s1的值为0,s2的值为32。说明字符串str和字符串str1两字符串相等,字符串str位于字符串str2之后。
3.8字母大小写转换
方法1:toLowerCase()方法,将字符串中的大写字母转换成小写字母。
语法:str.toLowerCase()
例如:String str =new String("ABCD");
System.out.println(str.toLowerCase());
输出:abcd
方法2:toUpperCase()方法,将字符串中的小写字母转换成大写字母。
String str =new String("abcd");
System.out.println(str.toUpperCase());
输出:ABCD0