20. 一些方法
String str="zhangsan";
String str=new String("zhangsan");
package a2;
//取出“a”里的第4个字符,因为charAT是由0开始计数的。
public class lx6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String a="baidu";
System.out.println(a.charAt(3));
}
}
//输出结果为:d
求字符长度length
package a2;
//访问器方法:用于获取有关对象的信息的方法叫做访问器方法。
//length()就是String类的一个访问器方法,它所返回的是字符串对象所包含的字符数。
public class lx1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s ="www.baidu.com";
int cd=s.length();
System.out.print(cd);
}
}
//输出结果为:13
拼接字符+、concat()
拼接字符串”+ “有三个功能:
-
表示正数
-
表示加法
-
拼接字符串
注意:任何类型的数据与字符串进行拼接,得到的都会是一个新的字符串。
package a2;
public class lx7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str ="zhangsan";
String str1 = new String("lisi");
String str2=str+str1;
String str3=str.concat(str1);//concat的作用和上面的+号一样
System.out.println(str2);
System.out.print(str3);
}
}
//输出结果为:
//zhangsanlisi
//zhangsanlisi
创建格式化字符串format
这里和C++很像
整数型变量:%d
浮点型变量:%f
字符型变量:%c
字符串变量:%s
package a2;
public class lx8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//先定义四种不同的字符
int a =1;
double b=3.14;
char c='a';
String d="abcd";
String and="";//赋值前必须初始化
and=and.format("整数%d,小数%f,字母%c,句子%s",a,b,c,d);
System.out.print(and);
}
}
//输出结果为:整数1,小数3.140000,字母a,句子abcd
比较字符串
按照ASCII码进行比较
compareTo
按字典顺序比较(不分大小写)
compareToIgnoreCase
package a2;
public class lx9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String a ="ABC";//A的ascii码是65
String b ="abc";//a的ascii码是97
if(a.compareTo(b)>0){ //a.compareTo(b)即a-b(65-97)
System.out.println(a+">"+b);
}
else if(a.compareTo(b)==0){
System.out.println(a+"="+b);
}
else
System.out.println(a+"<"+b);
}
}
//输出结果为:ABC<abc
字符串数组StringBuffer
由append() 将指定的字符串压入(追加)到此字符串数组。
语法:
StringBuffer s = new StringBuffer("字符串:");
s.append("字符串1");
s.append("字符串2");
……
s.append("字符串n");
例:
package a2;
public class lx10 {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer s = new StringBuffer("你个人才:");
s.append("123");
s.append("456");
s.append("789");
System.out.print(s);
}
}
//输出结果为:你个人才:123456789
查找某字符出现的位置indexOf
查找“c”字符在“s”字符串里第一次出现的位置
package a2;
public class lx11 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="server_computer_cpu_50";
int a=s.indexOf('c');// 查找“c”字符在“s”字符串里第一次出现的位置
System.out.print(a);//indexOf也由0开始计数
}
}
//输出结果为:7
indexOf(查找的字符, 查找的开始位置(可不填) )
查找“c”字符在“s”字符串里第二次出现的位置
package a2;
public class lx11 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="server_computer_cpu_50";
int a=s.indexOf('c');
int b=s.indexOf('c',a+1);//即从第8个字符开始往后查找
System.out.println(a);
System.out.print(b);
}
}
//输出结果为:
//7
//16
截取字符串substring
substring(a,b);
从a截取到b,若不填写b则从a截取全部
package a2;
public class lx5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="server_computer_cpu_50";
String a=s.substring(16,19); //打印出cpu
System.out.print(a);
}
}
//输出结果为:cpu