Java默认自动导入java.lang.中的类(但是不包括子包)
字符串的两种创建方式
// 方式一:字面值(推荐、简单、效率高)
String s1 = "你好";
System.out.println(s1);
// 方式二:new关键字创建(new就表示“创建”)
String s2 = new String("你好");
System.out.println(s2);
// 字面值每次都会先检查内存中是否有此字符串
//如果有则不创建字符串对象直接返回。
// new关键字创建【每次都会创建一个新的字符串对象】
String s1 = new String("你好");// 301
String s2 = new String("你好");// 302
//打印结果是false,因为【地址的值】不同
System.out.println(s1 == s2);
字符串常用方法10个
equals方法:字符串的值相等(判断值是布尔值)
boolean a = "abc".equals("abcd");
System.out.println(a);
length方法:字符串长度(只有方法后面才有小括号)
int b = "abc".length();
System.out.println(b);
// 字符串的本质:字符数组char[]
String s = "abc";
//底层存在的形式是一个数组
char[] arr = {'a', 'b', 'c'};
charAt方法:根据下标返回字符,索引范围为从 0 到 length() - 1(注意:最后返回的是下标所对应的字符)
char c = "abc".charAt(2);
System.out.println(c);
substring方法:根据下标截取字符串(是一串字符,用String定义变量而不是char)
String d = "abcde".substring(2);//从下标2截取到最后
System.out.println(d);
substring方法:根据下标截取字符串(注意:截取出来的区间包括前面不包括后面)
//截取出来的包括下标1的字符但是不包含下标4的字符
String e = "abcde".substring(1, 4);
System.out.println(e);
indexOf方法:查找【字符串】:如果有返回【起始下标】,如果没有返回【-1】,定义变量用【int】
int f = "abcde".indexOf("bcdf");
System.out.println(f);
contains方法:是否包含字符串(只想知道有没有,返回的是布尔值)
boolean g = "abc".contains("bx");
System.out.println(g);
replace方法:替换字符串
String h = "abcabcabc".replace("bc", "123");
System.out.println(h);
trim方法:去除两边空格
String i = " abc ".trim();
System.out.println(i);
valueOf方法:基本数据类型转换为字符串(静态的)
//输出来的j是一套字符串,已经不是整型数字100了
String j = String.valueOf(100);
//输出的j依旧是100,但已经不是基本数据类型了
//此时的100只代表一个字符串
System.out.println(j);