一、创建
1.1 直接创建
语法:String 字符串名 = “字符串内容”;
String str = “bjh”;
System.out.println(str);
1.2 构造函数创建
语法:String 字符串名 = new String(“字符串内容”)
注意:此种方式创建了两个对象。
String str = new String(“bjh”); // 注意:此种方式创建了两个对象。
System.out.println(str);
1
2
1.3 字符数组转换
语法: String 字符串名 = new String(字符数组名)
char[] charstr = { ‘b’, ‘a’, ‘i’, ‘d’, ‘u’};
String str = new String(charstr);
System.out.println(str);
二、长度
2.1 字符串.length()
语法:字符串.length();
2.2 字符串名.length()
语法:字符串名.length();
三、格式化
3.1 printf()
语法:
作用:
String f = “浮点型变量的值为%f,整型变量的值为%d,字符串变量的值为%s”
float floatVar = 1.0f;
int intVar = 2;
String stringVar = “we”;
System.out.printf(f, floatVar, intVar, stringVar);
3.2 format()
语法:
作用:
String f = “浮点型变量的值为%f,整型变量的值为%d,字符串变量的值为%s”
float floatVar = 1.0f;
int intVar = 2;
String stringVar = “we”;
String fs = String.format(f, floatVar, intVar, stringVar);
System.out.println(fs);
四、获取
4.1 知索引
4.1.1 单字符——charAt()
语法:字符串名.charAt(索引);
// 需求:获取第二个字符。
String str = “abcde”;
System.out.println(str.charAt(1));
// 结果:b
4.1.2 多字符
语法一:字符串名.substring(beginindex,endindex);
// 需求:知索引1,3,获取之间的字符,遵循[1,3)。
String str = “abcde”;
System.out.println(str.substring(1,3));
// 结果:bc
语法二:字符串名.substring(beginindex,beginindex + length);
// 需求:知索引1,长度为3,获取之间的字符,则遵循[1,1+3)。
String str = “abcde”;
System.out.println(str.substring(1,4));
// 结果:bcd。
4.2 知字符
4.2.1 单索引
语法:字符串名.indexOf(“待查字符串”);
注意:获取第一次出现的索引。
语法:字符串名.lastIndexOf(“待查字符串”);
注意:获取最后一次出现的索引。
// 需求:获取ce第一次出现的索引。
String str = “abcedecedece”;
System.out.println(str.indexOf(“ce”));
// 结果:2。
// 需求:获取ce最后一次出现的索引。
String str = “abcedecedece”;
System.out.println(str.lastIndexOf(“ce”));
// 结果:10。
4.2.2 多索引
语法:
待续
五、增加
待续
六、替换——replace
语法:字符串名.replace(原字符,新字符);
语法:字符串名.replaceAll(正则表达式,新字符);
语法:字符串名.replaceFirst(正则表达式,新字符);
String str = “abcedefgcea”;
// 替换所有。
System.out.println(str.replace(“a”,“m”)); // 结果:mbcedefgcem
七、删除
待续
八、拆分——split()
语法:字符串名.split(正则表达式);
语法:字符串名.split(正则表达式,拆分次数);
String str = “abcedaefagce”;
String[] arr1 = str.split(“a”);
for (String s: arr1){
System.out.println(s);// 结果:bced ef gce
}
String[] arr2 = str.split(“a”,2);
for (String s: arr2){
System.out.println(s);// 结果:bcedaefagce
}
九、拼接
9.1 +拼接
语法:字符串名 + 字符串名 + 字符串名;
9.2 concat拼接
语法:字符串名.concat(字符串名);
缺点:一次只能操作两个字符串。
十、查找判断
待续
十一、比较
11.1 compareTo()
语法:字符串名.compareTo(待比较字符串名);
注意:考虑大小写。
语法:字符串名.compareToIgnoreCase(待比较字符串名);
注意:不考虑大小写。
String str = “abcedefgce”;
// 包含时,且小于,返回1
System.out.println(str.compareTo(“a”));// 结果:1
// 等于时,返回0
System.out.println(str.compareTo(“abcedefgce”));// 结果:0
// 被包含时,即大于时,返回-1
System.out.println(str.compareTo(“abcedefgcem”));// 结果:-1
// 无关系时,返回字符串第一个字母和m的ASCII码的差值。
System.out.println(str.compareTo(“m”));// 结果:-12。
1
2
3
4
5
6
7
8
9
11.2 equals()或==
语法:字符串名.equals(待比较字符串名);
语法:字符串名==待比较字符串名;
String str = “abcedefgce”;
String str2 = “abcedefgce”;
System.out.println(str.equals(“a”));// 结果:false。
System.out.println(str.equals(str2));// 结果:true。
System.out.println(str==“a”);// 结果:false。
System.out.println(str==str2);// 结果:true。
11.3 startsWith()或endsWith()
语法:字符串名.startsWith(待比较字符串名);
语法:字符串名.endsWith(待比较字符串名);
String str = “abcedefgce”;
String str2 = “abcedefgce”;
System.out.println(str.startsWith(“ab”)); // 开头为true,不开头为false。
System.out.println(str.endsWith(“ce”)); // 结尾为true,不结尾为false。
1
2
3
4
11.4 matches()
语法: 字符串名.matches(正则表达式);
十二、字母大小写互转
12.1 转大写——toUpperCase()
String str = “abcedaefagce”;
String strA = str.toUpperCase();
System.out.println(strA);
12.2 转小写——toLowerCase()
String str = “abcedaefagce”;
String strA = str.toUpperCase();
String stra = strA.toLowerCase();
System.out.println(stra);
1
2
3
4
十三、与数组互转
13.1 split()
语法:字符串名.split(“分割符”);
String str = “abc,eda,efa,gce”;
String[] arr1 = str.split(",");
for (String s: arr1){
System.out.println(s);// 结果:abc,eda,efa,gce
}
13.2 toCharArray()
语法: 字符串名.toCharArray();
String str = “abc,eda,efa,gce”;
char[] arr2 = str.toCharArray();
for (char s: arr2){
System.out.println(s);// 结果:a b c , e d a , e f a , g c e
}
十四、与数字互转
14.1 字符串转数字——parse数据类型()
语法:数据类型类.parse数据类型(字符串)
String str = “345”;
System.out.println(Integer.parseInt(str) + 1); // 结果:346。
14.2 数字转字符串——toString()
语法一:数字名.toString();
语法二:数字名 + “”;
语法三:String.valueOf(数字名);
Integer num = 345;
System.out.println(num.toString());
System.out.println(num + “”);
System.out.println(String.valueOf(num));