字符串的声明
package com.itheima.string;
public class StringDemo1 {
public static void main(String[] args) {
String name = "mali";
System.out.println(name);
String rs1 = new String();
System.out.println(rs1);
String rs2 = new String("mali");
System.out.println(rs2);
char[] chars = { 'a', '黑', '马' };
String rs3 = new String(chars);
System.out.println(rs3);
byte[] bytes = { 97, 98, 99 };
String rs4 = new String(bytes);
System.out.println(rs4);
}
}
字符串方法
package com.itheima.string;
public class StringDemo2 {
public static void main(String[] args) {
String s = "黑马";
System.out.println(s.length()); //字符串长度
char c = s.charAt(1); //获取指定索引字符
System.out.println(c);
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
System.out.println(ch);
}
char[] chars = s.toCharArray(); //字符串转换为字符数组
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);
}
String s1 = new String("玛丽");
String s2 = new String("玛丽");
System.out.println(s1 == s2); // 地址判断
System.out.println(s1.equals(s2)); // 内容比较
String c1 = "34AeFG";
String c2 = "34aEfg";
System.out.println(c1.equals(c2)); // 大小写比较
System.out.println(c1.equalsIgnoreCase(c2)); // 大小写不比较
String s3 = "java是好的语言之一";
String rs = s3.substring(0, 9); //字符串分割
System.out.println(rs);
String info = "这是一个垃圾电影";
String rs3 = info.replace("垃圾", "**"); //字符串替换
System.out.println(rs3);
String info2 = "java是一个编程语言";
System.out.println(info2.contains("java")); // 是否包含某个变量
String rs4 = "阿拉顶顶顶顶";
System.out.println(rs4.startsWith("阿")); // 是否以某个字符开头
String rs5 = "张三,李四,王五,赵六";
String[] names = rs5.split(","); //字符串以指定字符转换为字符数组
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
}
}
String类型是不可变对象,进行数据改变时只是根据数据生成新的字符串对象
以引号赋值的String数据,内容会放到字符串常量值中,相同的字符串只会存储一次
用new创建的String数据,会每次创建一个堆内存进行数据存储