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);
    }   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章