创建字符串的方法
①String() 一个String对象,可以表示为一个空字符串。
语法:String s=new String("像勇士这样的球队?只有防守一松懈?");
String s="像勇士这样的球队?只有防守一松懈?";
String s="" 表示一个空字符串
②String(char a[]) 用一个字符数组a创建Stringd对象。
例如:char a[]={'像','勇','士','这','样','的','球','队','?','只','有','防','守','一','松','懈','?'};
String s=new String(a); 注意:a外面不能添加双引号,否则变成了字符串
System.out.println(s); 结果为:像勇士这样的球队?只有防守一松懈?
③String(char a[],int offset,int length) 提取字符数组a中的一部分创建一个字符串对象。参数offset:开始截取字符串的位置 length:截取字符串的长度。
char a[]={'像','勇','士','这','样','的','球','队','?','只','有','防','守','一','松','懈','?'};
String s=new String(a,3,8);
System.out.println(s); 结果为:这样的球队?只有
字符串连接
1,字符串的链接主要是:连接多个字符串和连接其他数据类型两种不同的操作。
①多个字符串连接:在每两个连接的字符串之间用“+”相连,“+”就是字符串的连接符,生成一个新的字符串。
例如:String s1=new String("hellow");
String s2=new String("word");
String s=new String(s1+" "+s2);
System.out.println(s); 结果为:hellow word
注意:Java中的字符串不能分开在两行中写。如果一个字符串太长,需要将这个字符串分在两行书写,需要使用“+”将两个字符串连起来,并在加号处换行。
例如:String str ="像勇士这样的球队?只有防守一松懈?"+
"他们才能抓住机会打完了三场?爵士还是没找到应对勇士的办法";
System.out.println(str); 结果为:像勇士这样的球队?只有防守一松懈?他们才能抓住机会打完了三场?爵士还是没找到应对勇士的办法
② 连接其他数据类型:在字符串和其他数据类型连接时,同样使用“+”连接符,连接之后的返回值是字符串。
例如: int booktime=4;
float practice=2.5f;
System.out.println("我每天花费"+booktime+"小时看书;“+practice+“小时上机练习”); 结果为:我每天花费4小时看书;2.5小时上机练习
获取字符串信息
1,获取字符串的长度:使用String类的length()方法可获取申明的字符串对象的长度
语法:str.length()
str:指定的字符串对象;
返回值:返回指定字符串的长度
例如:String s=new String("像勇士这样的球队?只有防守一松懈?");
System.out.println(s.length()) 结果为:17
2.获取指定字符的索引值:indexOf()方法:返回的是搜索的字符首次出现位置的索引;lastIndexOf()方法:返回的是搜索的字符最后出现位置的索引。
语法:str.indexOf(substr)
str:指定的字符串对象;
substr:要搜索的字符;
返回值:返回字符序列首次出现该字符的索引值
str.lastIndexOf()
str:指定的字符串对象;
substr:要搜索的字符;
返回值:返回字符序列最后出现该字符的索引值
例如:
String s=new String(“像勇士这样的球队?只有防守一松懈?他们才能抓住机会打完了三场?爵士还是没找到应对勇士的办法");
System.out.println(str.indexOf(“勇士”)) 结果:1
System.out.println(str.lastIndexOf(“勇士”)) 结果:40
注意:如果在字符序列中没有检索到字符串,则返回-1
3.获取指定索引位置的字符:使用String类的charAt()方法可获取指定索引处的字符,返回索引的字符。
语法:str.charAt(int index)
str:指定的字符串对象;
index:整型值,用于指定要返回字符的下标;
返回值:返回指定索引位置的字符;
例如:String s=new String(“像勇士这样的球队?只有防守一松懈?他们才能抓住机会打完了三场?爵士还是没找到应对勇士的办法");
System.out.println(s.charAt(6)); 结果为:球
字符串分割
1.split(String sign)方法:根据指定的分隔符对字符串进行完全分割。并且将分割后的结果存放在字符串数组中
语法:str.split(String sign);
str:指定的字符串对象;
sign:分割字符串的分隔符。
返回值:根据分隔符分割后的字符串,以数组的形式呈现
例如: String s=new String(“像勇士这样的球队?只有防守一松懈?他们才能抓住机会打完了三场?爵士还是没找到应对勇士的办法?");
String news[]=str.split("?")
System.out.println("输出按分割符分割后的字符串是:");
for(int i=0;i<news.length;i++){
System.out.println(news[i]);
}
结果为:输出按分割符分割后的字符串是:
像勇士这样的球队
只有防守一松懈
他们才能抓住机会打完了三场
爵士还是没找到应对勇士的办法
2. split(String sign,int limit)方法:根据给定的分隔符对字符串进行拆分,并限定拆分的份数
语法:split(String sign)[nt limi];
str:指定的字符串对象;
sign:分割字符串的分隔符。
返回值:根据分隔符分割指定次数后的字符串,以数组的形式呈现
limit:限制的分割份数
例如:String str=new String(“像勇士这样的球队?只有防守一松懈?他们才能抓住机会打完了三场?爵士还是没找到应对勇士的办法?");
String news=str.split("?")[2];
System.out.println(news);
String newt[]=str.split("?",2);
for(int i=0;i<newt.length;i++){
System.out.println(newt[i]);
}
结果为:像勇士这样的球队
只有防守一松懈?他们才能抓住机会打完了三场?爵士还是没找到应对勇士的办法
判断字符串
1,判断字符串是否相等
①equals():比较是严格区分大小写,返回的的是true或false
语法:str.equals(String,otherstr);
str:参与比较的一个字符串对象
otherstr:参与比较的另一个字符串对象
返回值:返回boolean类型
②equalsIgnoreCase()方法:忽略大下写的情况下进行比较两个字符串是否相等
语法:equalsIgnoreCase(String,otherstr)
str:参与比较的一个字符串对象
otherstr:参与比较的另一个字符串对象
返回值:返回boolean类型
str.substring(整数型参数1) //取索引值为这个整数后面的字符串
str.substring(整数型参数1,整数参数2) //取参数1和参数2之间的字符串(不包括参数2)
例如:
String str = "像勇士这样的球队?只有防守一松懈?他们才能抓住机会打完了三场?爵士还是没找到应对勇士的办法";
System.out.print(str.substring(str.indexOf("勇士"),str.indexOf("勇士")+2));
System.out.print(str.substring(str.indexOf("抓住机会"),str.indexOf("抓住机会")+4));
System.out.print(str.substring(str.indexOf("?"),str.indexOf("?")+1));
System.out.print(str.substring(str.indexOf("找到应对"),str.indexOf("找到应对")+4));
System.out.print(str.substring(str.indexOf("办法"),str.indexOf("办法")+2));
结果为:勇士抓住机会,找到应对办法