Java中系统类String的常用方法

字符串

    字符串是个常量也叫常量字符串
    只要对字符串进行操作 都返回的是一个新的字符串(原字符串不能更改)

    例如:
        public static void main(String[] args) {
        //字符串 存在于常量池中
        //字符串本身没有发生变化 而是 引用地址发生了变化
        //相当于 指针重新指向
        //String str1 = "sxm";

        /*
        String string1 = "abc";
        String string2 = new String("abc");
        String string3 = "abc";
        //== 相当于 判断两个地址是否一样 
        System.out.println(string1 == string2);//false
        System.out.println(string1 == string3);//true
        //字符串中equals方法 比较是 两个字符串的每一个字符
        System.out.println(string1.equals(string2));//true
        */

        //string1 和 string2 有什么不同? 分别代表几个对象
        //string1是一个对象
        //string2是两个对象("abc" 是常量池中的对象  new 在堆区创建了一个对象)
        String string1 = "abc";
        String string2 = new String("abc");
    }

系统类String的常用方法


    系统类的常用方法:

1.获取

            根据索引获取字符串中的字符
            (使用 charAt方法)
            public static void main(String[] args) {
                    //测试
                    fun1();
    }

            public static fun1(){
                //传入索引 返回 对应字符

                //定义字符串
                String string = "IloveJava";
                //使用charAt方法得到对应字符
                char c = string.charAt(0);
                System.out.println(c);
            }
            根据字符获取字符串中的位置
            (使用indexof方法)
            public static void main(String[] args) {
                    //测试
                    fun2();
        }
            public static fun1(){
                //传入字符返回对应的索引
                int i = string.indexOf('x');
                System.out.println(i);
                //传入查找索引 是从 当前位置开始查找
                int o = string.indexOf('m', 5);
                System.out.println(o);
                //传入字符串 查找对应位置 
                int z = string.indexOf("xi");
                System.out.println(z);
            }

            传入字符返回对应索引:
            indexOf(int ch)
            从当前位置开始查找:
            indexOf(int ch,int fromIndex)
            传入字符串查找对应位置:
            indexOf(String str)

2.字符串拼接

        public static void main(String[] args) {
                //测试
                fun3();
        }
            (使用concat方法)
            public static void fun3() {

                String string1 = "Ilove";
                String string2 = "Java";        
                //字符串拼接
                String concat = string1.concat(string2);
                System.out.println(concat);
    }

3.判断

        是否包含这个字符串

        (使用 contains方法)
        public static void main(String[] args) {
            //测试
            //如果包含的话 打印的是一个true
            fun4();
        }

        public static void fun4() {
            String string = "www.baidu.com";
            //包含
            boolean b1 = string.contains("baidu");
            System.out.println(b1);
    }
        是否以这个前缀开头

        (使用startsWith方法)
        public static void main(String[] args) {
            //测试
            //如果是以这个前缀开头的话 
            //打印的是一个true
            fun5();
        }

        public static void fun5() {
            String string = "www.baidu.com";
            //前缀
            boolean b2 = string.startsWith("www");
            System.out.println(b2);
    }   
        是否以这个后缀结尾

        (使用endsWith方法)
        public static void main(String[] args) {
            //测试
            //如果是以这个后缀结尾的话 
            //打印的是一个true
            fun6();
        }

        public static void fun6() {
            //后缀 
            boolean b3 = string.endsWith("com");
            System.out.println(b3);
    }

4.替换

            (使用replace方法)
        public static void fun7() {
            String string = "ILoveJava";
            //替换字符
            String replaceString = string.replace('o', '0');
            System.out.println(replaceString);
            //替换字符串
            String replaceString1 = string.replace("Love", "Like");
            System.out.println(replaceString1);

            替换字符:
            replace(oldChar,newChar)
            替换字符串:
            replace(target, replacement)
    }

5.切割

        (使用split方法)

        //切割
    public static void fun8() {
        String string = "I,L,o,ve,J,a,v,a";
        //按逗号切割
        String[] strings = string.split(",");
        //遍历
        for (int i = 0; i < strings.length; i++) {
            System.out.println(strings[i]);
        }

        (//增强for循环 (foreach) 用来快速打印 快速遍历
        //冒号后 是你要 遍历的容器
        //冒号前 代表的是 容器中 每一个元素
        for (String string2 : strings) {
            //遍历时 直接打印每一个元素
            System.out.println(string2);
        }   )

    }   

        切割:
        split(regex);

6.获取子字符串

        (使用substring方法)
        public static void fun9() {
            String string = "ILoveJava";
            //从 索引处 开始截取 返回的是 从索引处 往后的字符串
            String substring = string.substring(6);
            System.out.println(substring);
            // 截取时 留头 不留尾
            String substring2 = string.substring(0, 4);
            System.out.println(substring2);
    }

        从索引处 开始截取 返回的是 从索引处往后的字符串:
        substring(beginIndex)

        从索引处 开始截取 到 结束索引处
        且 留头 不留尾:
        substring(beginIndex, endIndex)

7.转换大小写

        (使用toUpperCase()转大写)
        public static void fun10() {
            String string1 = "ILoveJava";
            //转大写
            String upperCase = string1.toUpperCase();
            System.out.println(upperCase);
    }

        (使用toLowerCase()转小写)
        public static void fun11() {
            String string2 = "ILoveJava";

            //转小写
            String lowerCase = string2.toLowerCase();
            System.out.println(lowerCase);

        }

        转大写:
        toUpperCase()
        转小写:
        toLowerCase()

8.去空格

        (使用trim方法)
        public static void fun12() {
            //去前后空格
            String string = " I  Lo  v eJ ava   ";
            System.out.println(string);
            String trim = string.trim();
            System.out.println(trim);
    }

        去空格:
            trim();

9.字符串比较

    /*
     * 字符串相等时 返回0
     * 两个字符串  长度相同时
     * 一位一位进行ASCII码的比较
     * 长度不相等 返回的是 长度的差值
     */

     (使用compareTo方法)
    public static void fun13() {
        System.out.println((int)'A');
        System.out.println((int)'c');
        String s1 = "abA";
        String s2 = "abc";
        //进行比较
        int num = s1.compareTo(s2);
        System.out.println(num);

        //char c= '苏';
        //System.out.println((int)c);
    }

10.判断两个字符串是否相等(忽略大小写)

        (使用 equalsIgnoreCase())
    public static void fun14() {
        String string1 = "suximeng";
        String string2 = "sudie";
        // 忽略大小写 判断是否相等
        boolean b = string1.equalsIgnoreCase(string2);
        System.out.println(b);
    }

        判断两个字符串是否相等:
        equalsIgnoreCase()

11.转化

        字符数组 转 字符串
        public static void fun15() {
            char[] array = {'J','a','v','a'};
            //转字符串
            String string = new String(array);
            System.out.println(array);
    }
        int 转 字符串
        (使用valueOf方法)

        public static void fun16(){
            char[] array = {'J','a','v','a'};

            //int 转 字符串
            int num = 5;
            String newStr = String.valueOf(num);
            System.out.println(newStr);
    }
        //字符串 转 字符数组
        (使用toCharArray)
        public static void fun17(){
            String string1 = "ILoveJava";
            char[] charArray = string1.toCharArray();
            //遍历
            for(char c : charArray) {
                System.out.println(c);
            }
    }
        //判断字符串是否为空
        (使用 isEmpty方法)
        public static void fun18(){
            (使用 isEmpty)
            String string3 = "ILoveJava";
            boolean b = string3.isEmpty();
            System.out.println(b);
    }   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值