String创建对象封装字符串数据的方式:
// 1、方式一:非常常见、常用的
String name = "小黑";
System.out.println(name);
// 2、方式二:调用String类提供的构造器初始化字符串对象,封装数据
String s1 = new String(); // ""
System.out.println(s1);
String s2 = new String("小黑子");
System.out.println(s2);
// 可以基于字符数组创建字符串对象
char[] chars = {'a', 'b', 'c', '我', '爱', '中', '国'};
String s3 = new String(chars);
System.out.println(s3);
// 可以基于字节数组创建字符串对象
byte[] bytes = {97, 98, 99, 'a', 'b', 'c'};
String s4 = new String(bytes);
System.out.println(s4);
String字符串提供的常用方法
// 目标:快速熟悉String提供的处理字符串的常用方法。
String name = "ab小黑子666";
// 1、获取字符串的长度(字符个数)
System.out.println(name.length());
// 2、提取字符串中某个索引位置处的字符
char c = name.charAt(2);
System.out.println(c);
for (int i = 0; i < name.length(); i++) {
// i = 0 1 2 3 4 5 6
System.out.println(name.charAt(i));
}
// 3、把字符串转换成字符数组,再进行遍历
System.out.println("-----------------------------");
char[] charArray = name.toCharArray();
for (int i = 0; i < charArray.length; i++) {
System.out.println(charArray[i]);
}
// 4、equals: 判断字符串内容,内容一样就返回true (重点)
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2); // 默认比较地址 false
System.out.println(s1.equals(s2)); // true 比较字符串建议都用equals
// 5、忽略大小写比较字符串内容
String r1 = "aBcF23";
String r2 = "ABCF23";
System.out.println(r1.equals(r2)); // false
System.out.println(r1.equalsIgnoreCase(r2)); // true
// 6、截取字符串内容 (包前不包后的)
String t1 = "小陈学习Java入门";
String rs = t1.substring(5, 11);
System.out.println(rs);
// 7、从当前索引位置一直截取到字符串的末尾
String rs2 = t1.substring(5); // 从当前索引截取到末尾
System.out.println(rs2);
// 8、把字符串中的某个内容替换成新内容,并返回新的字符串对象给我们
// 敏感词替换
String info = "你个死老6,打的这么垃圾,垃圾队友,等我复活再来打死这个垃圾~~~,垃圾队友,快来救我~~~";
String rs3 = info.replace("垃圾", "**").replace("死", "*");
System.out.println(rs3);
// 9、判断字符串中是否包含某个关键字
String t2 = "程序员Java入门课";
System.out.println(t2.contains("小黑子"));
System.out.println(t2.contains("小黑子2"));
// 10、判断字符串是否以某个字符串开头。
// startsWith 判断是否以什么内容开头
// endsWith 判断是否以什么内容结尾
System.out.println(t2.startsWith("菜鸟程序员"));
System.out.println(t2.startsWith("菜鸟程序员2"));
System.out.println(t2.endsWith("门课"));
System.out.println(t2.endsWith("门课2"));
// 11、把字符串按照某个指定内容分割成多个字符串,
// 放到一个字符串数组中返回给我们。
// 王菲,蔡徐坤,易烊千玺
String info2 = "王菲,蔡徐坤,易烊千玺";
String[] names = info2.split(",");
for (int i = 0; i < names.length; i++) {
System.out.println("选择了:" + names[i]);
}
}
}
String注意事项:String对象是一个不可变的对象