<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] >[danger] ##### 字符串的比較 |方法聲明 |功能介紹| | --- | --- | | boolean equals?(Object anObject) | 兩個字符串內容是否相等返回布爾| |boolean equalsIgnoreCase?(String anotherString) |忽略大消息判斷兩個字符串的內容是否相等| |雙等 |內存地址是否相等| ~~~ public class StringTest { public static void main(String[] args) { String str = "abc"; // 同一個字符串常量池 String str1 = "abc"; // 同一個字符串常量池 String str2 = new String("abc"); // 構造參數是同一個字符串常量池 String str3 = "ABC"; // 內存比較 System.out.println(str == str1); // true System.out.println(str == str2);// false // 具體內容比較 System.out.println(str.equals(str2)); // true // 忽略大小寫比較 System.out.println(str.equalsIgnoreCase(str3));// true } } ~~~ >[danger] ##### 數組和字符轉換 |方法聲明 |功能介紹| | --- | --- | |String toString() |返回字符串本身| |byte[] getBytes() |將當前字符串內容轉換為byte數組并返回| |char[] toCharArray() |用于將當前字符串內容轉換為char數組并返回| ~~~ import java.util.Arrays; public class TestStr { public static void main(String[] args) { String str = new String("你好word"); // 調用toString 方法返回字符串 System.out.println(str.toString()); // 將字符串轉換為 字節數組 byte byte[] bArr = str.getBytes(); System.out.println(Arrays.toString(bArr)); // 打印每個字節 for (byte s : bArr) { System.out.println(s); } // 將字節轉換會字符串 System.out.println(new String(bArr)); // 將字符串轉換為 字符數組 char char[] cArr = str.toCharArray(); System.out.println(Arrays.toString(cArr)); // 打印每個字符 for (char s : cArr) { System.out.println(s); } // 將字符轉換會字符串 System.out.println(new String(cArr)); } } ~~~ * 打印結果 ~~~ 你好word [-60, -29, -70, -61, 119, 111, 114, 100] -60 -29 -70 -61 119 111 114 100 你好word [你, 好, w, o, r, d] 你 好 w o r d 好w o r d 你好word ~~~ >[danger] ##### 判斷字符長度和是否為空 |方法聲明 |功能介紹| | --- | --- | |int length()| 返回字符串字符序列的長度| |boolean isEmpty() |判斷字符串是否為空| ~~~ public class TestStr { public static void main(String[] args) { String str = ""; System.out.println("當前字符串是否為空" + (str.length() == 0)); // 打印結果:當前字符串是否為空true System.out.println("當前字符串是否為空" + str.isEmpty()); // 打印結果:當前字符串是否為空true } } ~~~ >[danger] ##### 通過位置獲取字符 1. 指數范圍為**0至length() - 1** 。 序列的第一個char值位于索引0 ,下一個位于索引1 ,依此類推,就像**數組索引一樣** 2. **IndexOutOfBoundsException**- 如果 index參數為負數或不小于此字符串的長度 |方法聲明 |功能介紹| | --- | --- | |char charAt(int index) |方法charAt用于返回字符串**指定位置的字符(char 類型)**。| ~~~ public class TestStr { public static void main(String[] args) { String str = "word"; System.out.println(str.charAt(0)); // w System.out.println(str.charAt(1)); // o System.out.println(str.charAt(2)); // r System.out.println(str.charAt(3)); // d System.out.println(str.charAt(4)); // java.lang.StringIndexOutOfBoundsException: String index out of range: 4 } } ~~~ >[danger] ##### 字符串大小比較 1. 比較的前后兩個字符串的 **對應位置字符 的ASCII碼的差值**,兩個字符串如果首字符**相同**,則**比較下一個字符**,直到有不同的為止,返回**該不同的字符的ASCII碼差值**。如果**兩個字符串不一樣長**,可以參與比較的字符**又完全一樣**,則返回**兩個字符串的長度差值** 2. 如果參數字符串**等于**此字符串,**則值0** ; 如果此字符串按字典順序**小于**字符串參數,則**小于0** ; 如果此字符串按字典順序**大于**字符串參數,則值**大于0** 。 |方法聲明 |功能介紹| | --- | --- | |int compareTo(String anotherString) |用于比較調用對象和參數對象的大小關系| |int compareToIgnoreCase(String str) |不考慮大小寫,也就是'a'和'A'是相等的關系| ~~~ public class TestStr { public static void main(String[] args) { String str = "abcba"; System.out.println(str.compareTo("acc")); // b 和 c 比較 98 - 99 = -1 System.out.println(str.compareTo("abcbaaA")); // abcba 都一樣則長度比較 5-7 = -2 System.out.println(str.compareTo("ABCBA")); // a 和 A 比較 97 - 65 = 32 System.out.println(str.compareTo("abcba")); // 0 // 使用 compareToIgnoreCase 忽略大小寫 System.out.println(str.compareToIgnoreCase("ABCBA")); // 0 } } ~~~ * 打印結果 ~~~ -1 -2 32 0 0 ~~~ >[danger] ##### 字符串拼接 1. 使用 concat 可以拼接字符串,和加號不同點如下 | **點** | **concat()方法** | **+運算符** | | --- | --- | --- | | **定義** | 一種**concat()方法**是組合兩個字符串的方法。 | **+運算符**用于連接任意數量的字符串。 | | **參數數量** | 在**CONCAT()**方法,僅接受字符串的一個參數,然后將其與另一個字符串連接。 | 在**+運算符**接受任意數量的參數并組合所有字符串。 | | **參數類型** | **CONCAT()**方法僅接受字符串類型的參數。 | **+運算符**接受任何類型的參數并將其轉換為字符串類型,然后將它們組合。 | | **創建新的字符串** | **CONCAT()**將兩個字符串連接起來,并僅在字符串長度大于0的情況下返回新的字符串對象,否則返回相同的對象。 | **+運算符**每次與字符串長度無關都創建一個新的字符串對象。 | | **空指針異常** | 在**CONCAT()**當string與null串聯時,此方法引發NullPointer Exception。 | **+運算符**連接字符串,沒有任何錯誤。 | | **性能** | **concat()方法**比+運算符更好,因為它僅在字符串長度大于零(0)時創建一個新對象,因此它使用較少的內存。 | **+運算符**始終會創建一個新字符串,而與字符串長度無關,因此會占用更多內存。 | ~~~ public class TestStr { public static void main(String[] args) { String str = "abcba"; String conStr = str.concat("some"); System.out.println(conStr); // abcbasome } } ~~~ >[danger] ##### 轉換字符串大小寫 |方法聲明 |功能介紹| | --- | --- | |String toLowerCase() |返回字符串的小寫形式| |String toUpperCase() |返回字符串的大寫形式| ~~~ public class TestStr { public static void main(String[] args) { String str = "abcba"; // 大寫 String upStr = str.toUpperCase(); System.out.println(upStr); // ABCBA // 小寫 String lowStr = str.toLowerCase(); System.out.println(lowStr); // abcba } } ~~~ >[danger] ##### 字符串判斷包含方法 |方法聲明 |功能介紹| | --- | --- | | boolean contains(CharSequence s) | 用于判斷當前字符串是否包含參數指定的內容String | | boolean startsWith(String prefix) | 判斷字符串是否以參數字符串開頭| | boolean startsWith(String prefix, int toffset) | 從指定位置開始是否以參數字符串開頭| | boolean endsWith(String suffix) | 判斷字符串是否以參數字符串結尾| ~~~ public class TestStr { public static void main(String[] args) { String str = "abcba"; // 是否包含字符 boolean b1 = str.contains("cba"); // true System.out.println(b1); b1 = str.contains("ABC"); System.out.println(b1); // false 區分大小寫 // 判斷字符串是否以...開頭 b1 = str.startsWith("ab"); System.out.println(b1); // true // 從下標1開始開頭是否是bc b1 = str.startsWith("bc", 1); System.out.println(b1); // true // 判斷字符串是否以...結尾 b1 = str.endsWith("ba"); System.out.println(b1); // true } } ~~~ >[danger] ##### 去掉前后空格 1. `String trim()`,去掉前后空格 ~~~ public class TestStr { public static void main(String[] args) { String str = " ab cba "; String trimStr = str.trim(); System.out.println(trimStr); // ab cba } } ~~~ >[danger] ##### 字符和字符串的查找(腳標位置) | 方法聲明 | 功能介紹| | --- | --- | | int indexOf(int ch) | 用于返回當前字符串中參數ch指定的字符第一次出現的下標| | int indexOf(int ch, int fromIndex)| 用于從fromIndex位置開始查找ch指定的字符| | int indexOf(String str) | 在字符串中檢索str返回其第一次出現的位置,若找不到返回-1| | int indexOf(String str, int fromIndex)| 表示從字符串的fromIndex位置開始檢索str第一次出現的位置| | int lastIndexOf(int ch)| 用于返回參數ch指定的字符最后一次出現的下標| | int lastIndexOf(int ch, in fromIndex)| 用于從fromIndex位置開始查找ch指定字符出現的下標| | int lastIndexOf(String str) | 返回str指定字符串最后一次出現的下標| | int lastIndexOf(String str, int fromIndex)| 用于從fromIndex位置開始反向搜索的第一次出現的下標。| ~~~ public class TestStr { public static void main(String[] args) { // 1.構造String類型的對象并打印 String str1 = new String("Good Good Study, Day Day Up!"); // 2.實現字符串中指定字符和字符串的查找功能 int pos = str1.indexOf('g'); System.out.println("pos = " + pos); // -1 代表查找失敗 pos = str1.indexOf('G'); System.out.println("pos = " + pos); // 0 該字符第一次出現的索引位置 // 表示從下標0開始查找字符'G'第一次出現的索引位置,包含0 pos = str1.indexOf('G', 0); System.out.println("pos = " + pos); // 0 pos = str1.indexOf('G', 1); System.out.println("pos = " + pos); // 5 // 查找字符串 pos = str1.indexOf("day"); System.out.println("pos = " + pos); // -1 pos = str1.indexOf("Day"); System.out.println("pos = " + pos); // 17 字符串中第一個字符的下標 pos = str1.indexOf("Day", 17); System.out.println("pos = " + pos); // 17 字符串中第一個字符的下標 pos = str1.indexOf("Day", 18); System.out.println("pos = " + pos); // 21 字符串中第一個字符的下標 // 編寫通用代碼實現將字符串str1中所有"Day"出現的索引位置找到并打印出來 pos = 0; while ((pos = str1.indexOf("Day", pos)) != -1) { System.out.println("pos = " + pos); pos += "Day".length(); } } } ~~~ >[danger] ##### 字符串截取 1. 子字符串從指定的beginIndex開始,并擴展到索引**endIndex - 1處的字符。 因此子串的長度是endIndex-beginIndex** 。 2. **IndexOutOfBoundsException**- 如果 beginIndex為負數,或者 endIndex大于此 String對象的長度,或者 beginIndex大于 endIndex 。 |方法聲明 |功能介紹| | --- | --- | |String substring(int beginIndex, int endIndex)|返回字符串中從下標beginIndex(包括)開始到endIndex(不包括)結束的子字符串| |String substring(int beginIndex)|返回字符串中從下標beginIndex(包括)開始到字符串結尾的子字符串| ~~~ public class TestStr { public static void main(String[] args) { String str = new String("Good Good Study, Day Day Up!"); String str1 = str.substring(5); System.out.println(str1); // Good Study, Day Day Up! String str3 = str.substring(5, 7); System.out.println(str3); // Go String str2 = str.substring(5, 100); System.out.println(str2); // IndexOutOfBoundsException } } ~~~ >[danger] ##### 字符串分割 1. `String[] split(String regex) `參數regex為正則表達式,以regex所表示的字符串為分隔符,將字符串拆分成字符串數組 * 注單個字符或者字符串都也可算為正則表達式 ~~~ import java.util.Arrays; public class TestStr { public static void main(String[] args) { String str = "a1b2c3d5e"; String[] strArr = str.split("c"); System.out.println(Arrays.toString(strArr)); // [a1b2, 3d5e] String[] strArr1 = str.split("\\d"); System.out.println(Arrays.toString(strArr1)); // [a, b, c, d, e] } } ~~~ >[danger] ##### 字符串替換 |方法名稱 |方法說明| | --- | --- | |String replace(char oldChar, char newChar)|使用參數newChar替換此字符串中出現的所有參數 oldChar| |String replaceFirst(String regex,String replacement)|替換此字符串匹配給定的正則表達式的第一個子字符串| |String replaceAll(String regex, String replacement)|將字符串中匹配正則表達式regex的字符串替換成replacement| ~~~ public class TestStr { public static void main(String[] args) { String str = "a1b2c3d5ec"; String rStr = str.replace('c', 'z'); System.out.println(rStr); // a1b2z3d5ez String rStr1 = str.replaceFirst("c", "f"); String rStr2 = str.replaceFirst("\\d", "f"); System.out.println(rStr1); // a1b2f3d5ec System.out.println(rStr2); // afb2c3d5ec String rStr3 = str.replaceAll("c", "f"); String rStr4 = str.replaceAll("\\d", "f"); System.out.println(rStr3); // a1b2f3d5ef System.out.println(rStr4); // afbfcfdfec System.out.println(str); // a1b2c3d5ec } } ~~~ >[danger] ##### 字符串拼接 -- join |方法名稱 |方法說明| | --- | --- | |static String join(CharSequence delimiter, CharSequence... elements)|`delimiter`:每個元素要添加的分隔符,`elements`:需要添加分隔符的字符串| |static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) |`delimiter`:每個元素要添加的分隔符,`elements`:表示被連接的數組(也可以是集合)| ~~~ public static void main(String[] args) { // 字符串數組 String []arr={"ab","ce","df"}; System.out.println(String.join(",",arr)); // 集合 List<String> list=new ArrayList<>(); list.add("s1"); list.add("s5"); list.add("s3"); System.out.println(String.join("-",list)); // 顯示時間 String date = String.join("/","01","25","2020"); System.out.print(date); String time = String.join(":", "12","10","10"); System.out.println(" "+time); } ~~~ * 打印結果 ~~~ ab,ce,df s1-s5-s3 01/25/2020 12:10:10 ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看