String

53 阅读1分钟

字符串的声明

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数据,会每次创建一个堆内存进行数据存储