【Java】14. 字符串

70 阅读2分钟

14. 字符串

14.1 String类的构造方法


public class StringDemo01 {
    public static void main(String[] args) {
        //public String():创建一个空白字符串对象,不含有任何内容
        String s1 = new String();
        
        //public String(char[] chs):根据字符数组的内容,来创建字符串对象
        char[] chs = {'a', 'b', 'c'};
        String s2 = new String(chs);//abc
​
        //public String(byte[] bys):根据字节数组的内容,来创建字符串对象
        byte[] bys = {97, 98, 99};
        String s3 = new String(bys);//abc
​
        //String s = “abc”; 直接赋值的方式创建字符串对象,内容就是abc,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象
        String s4 = "abc";//abc
    }
}

14.2 操作字符串

14.2.1 字符串比较

  • 比较基本数据类型:比较的是具体的值
  • 比较引用数据类型:比较的是对象地址值

equals方法


public class StringDemo02 {
    public static void main(String[] args) {
        //构造方法的方式得到对象
        char[] chs = {'a', 'b', 'c'};
        String s1 = new String(chs);
        String s2 = new String(chs);
        //直接赋值的方式得到对象
        String s3 = "abc";
        String s4 = "abc";
​
        //比较字符串对象地址是否相同
        System.out.println(s1 == s2);//false
        System.out.println(s1 == s3);//false
        System.out.println(s3 == s4);//true
​
        //比较字符串内容是否相同
        System.out.println(s1.equals(s2));//true
        System.out.println(s1.equals(s3));//true
        System.out.println(s3.equals(s4));//true
    }
}

14.2.2 遍历字符串


public class Test2字符串直接遍历 {
    public static void main(String[] args) {
        //两个方法:
        //charAt():会根据索引获取对应的字符
        //length(): 会返回字符串的长度
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        for (int i = 0; i < str.length(); i++) {
            //i 依次表示字符串的每一个索引
            //索引的范围:0 ~  长度-1
​
            //根据索引获取字符串里面的每一个字符
            //ctrl + alt + V 自动生成左边的接受变量
            char c = str.charAt(i);
            System.out.println(c);
        }
    }
}

14.3 StringBuilder


public class StringBuilderDemo3 {
    public static void main(String[] args) {
        //1.创建对象
        StringBuilder sb = new StringBuilder("abc");
        //2.末尾添加元素(可以链式编程)
        sb.append(1).append(true);
        //反转
        sb.reverse();
        //获取长度
        int len = sb.length();
        //3.再把StringBuilder变回字符串
        String s = sb.toString();
        System.out.println(s);
    }
}

14.4 StringJoiner


//1.创建一个对象,并指定中间的间隔符号
StringJoiner sj = new StringJoiner("---");
//StringJoiner sj = new StringJoiner(", ","[","]");
//2.添加元素
sj.add("aaa").add("bbb").add("ccc");
int len = sj.length();
//3.打印结果
System.out.println(sj);//aaa---bbb---ccc
//String str = sj.toString();
//System.out.println(str);//[aaa, bbb, ccc]