字符串
//在Java中,String是一个引用类型,它本身也是一个class。但是,Java编译器对String有特殊处理,即可以直接用"..."来表示一个字符串:
s = s.toUpperCase(); // 字符串变成大写
s1 = equals(s2) // 字符串比较是否相等要用equals()
s1 = equalsIgnoreCase(s2) // 比较相等且忽略大小写
"Hello".contains("ll") // 判断是否包含子串
"Hello".indexOf("l") // 返回查找到的索引值 2
"Hello".lastIndexOf("l") // 返回查找到最后的索引值 3
"Hello".startsWith("He"); // true
"Hello".endsWith("lo"); // true
"Hello".substring(2); // "llo"
"Hello".substring(2, 4); "ll"
// 去除首尾空白字符
// 使用trim()方法可以移除字符串首尾空白字符。空白字符包括空格,\t,\r,\n:
" \tHello\r\n ".trim(); // "Hello"
// .strip()去除空格
"\u3000Hello\u3000".strip(); // "Hello"
" Hello ".stripLeading(); // "Hello " 去除左边空格
" Hello ".stripTrailing(); // " Hello" 去除右边空格
"".isEmpty(); // true,因为字符串长度为0
" ".isEmpty(); // false,因为字符串长度不为0
" \n".isBlank(); // true,因为只包含空白字符
" Hello ".isBlank(); // false,因为包含非空白字符
// 替换子符串
String s = "hello";
s.replace('l', 'w'); // "hewwo",所有字符'l'被替换为'w'
s.replace("ll", "~~"); // "he~~o",所有子串"ll"被替换为"~~"
// 分割字符串 .split()方法,传入的是正则表达式
String s = "A,B,C,D";
String[] ss = s.split("\\,"); // [A, B, C, D]
// 拼接字符串
String[] arr = {"A", "B", "C"};
String s = String.join("***", arr); // "A***B***C"
// 格式化字符串
String s = "hi %s, your score is %d!";
System.out.println(String.format(s,"shuai",100));
%s : 显示字符串
%d : 显示整数
%x : 显示十六进制整数
%f : 显示浮点数
// 类型转换
String.valueOf(123); // "123"
String.valueOf(45.67); // "45.67"
// 把字符串转换成int类型
int n1 = Integer.parseInt("123");
// 把字符串转换为boolean类型
boolean b1 = Boolean.parseBoolean("true");
// 转换为char[]
char[] cs = "Hello".toCharArray(); // String -> char[]
String s = new String(cs); // char[] -> String
public class Target{
public static void main(String[] args) {
char[] cs = "Hello".toCharArray();
// 创建新的String实例时,它并不会直接引用传入的char[]数组,而是会复制一份
String s = new String(cs);
System.out.println(s); // Hello
cs[0] = 'x';
System.out.println(s); // Hello
}
}
public class Target{
public static void main(String[] args) {
int[] scores = new int[] {88,77,51,66};
Score s = new Score(scores);
s.printScores(); // [88, 77, 51, 66]
scores[2]= 99;
s.printScores(); // [88, 77, 99, 66]
}
}
class Score{
private int[] scores;
public Score(int[] scores){
this.scores = scores;
}
public void printScores(){
System.out.println(Arrays.toString(scores));
}
}