2020年9月17日 String 常用方法一、二、三
阿新 • • 發佈:2020-09-17
package com.atguigu.test09; import org.junit.Test; /* * 方法系列一: * (1)int length():返回字串的長度,返回的是字元的個數 * 因為String的內部(JDK1.9之前)用char[]實現,這個長度就是value陣列的長度 * (2)boolean isEmpty():是否是空字串 * (3)String toLowerCase() * String toUpperCase() * (4)String trim() :去掉字串的前後空白符 * (5)String concat():拼接,等價於+*/ public class TestStringMethod01 { @Test public void test3(){ String s1 = "hello"; String s2 = "world"; String s3 = s1 + s2; String s4 = s1.concat(s2); System.out.println(s3 == s4);//false//變數和變數拼接,此處s3和s4都是變數;s1和s2是常量; System.out.println(s3.equals(s4));//true } @Test public void test2(){ String str = " hello world "; str = str.trim();//需要有一個物件接受操作後的字串物件; System.out.println("[" + str + "]"); } @Test public void test1(){ String str = "hello"; System.out.println(str.toUpperCase()); } }
package com.atguigu.test09; import java.util.Scanner; import org.junit.Test; /* * 方法系列二:和char相關 * (1)char[] toCharArray()//字串轉換成字元陣列 * (2)char charAt(index)//輸出第index個數組 * (3)String(char[] arr)// * (4)String(char[] arr,int offset, int count) */ public class TestStringMethod2 { @Test public void test05(){ char[] arr = {'h','e','l','l','o'}; String string = new String(arr,2,3);//從[2]開始,取3個 System.out.println(string); } @Test public void test04(){ char[] arr = {'h','e','l','l','o'}; String string = new String(arr); System.out.println(string); } @Test public void test03(){ String str = "HelloWorld"; System.out.println(str.charAt(4)); } @Test public void test02(){ Scanner input = new Scanner(System.in); System.out.print("請輸入性別:"); String str = input.next(); char gender = str.charAt(0); System.out.println(gender); } @Test public void test01(){ String str = "HelloWorld"; //統計大寫字母的個數 char[] arr = str.toCharArray(); int count = 0; for (int i = 0; i < arr.length; i++) { if(arr[i]>='A' && arr[i]<='Z'){ count++; } } System.out.println("大寫字母的個數:" +count); } }
package com.atguigu.test09; import java.io.UnsupportedEncodingException; import java.util.Arrays; import org.junit.Test; /* * 方式系列三:和byte相關,或者說和編碼與解碼相關 *(1) byte[] getBytes():編碼的方法,使用平臺預設的字元編碼進行編的 * byte[] getBytes(編碼方式): * * 編碼: 對於ASCII碼範圍內(0~127),無論用什麼編碼方式,結果都是一樣的,一個字元對應一個位元組的編碼值 * 對於其他的字元,編碼,結果不一定是幾個位元組,例如漢字: * UTF-8:變長的,但是大多數漢字都是3個位元組 * GBK、GB2312:固定2個位元組 * ISO8859-1:不支援中文,所有字元都變為1個位元組 * (2)new String(位元組陣列) * new String(位元組陣列,編碼方式) * * 編碼: * 把字元-->位元組的過程,編給計算機用的 * 解碼: * 把位元組-->字元的過程,解給人看的 * * 亂碼: * (1)編碼與解碼字符集不一致 * (2)缺位元組 */ public class TestStringMethod3 { @Test public void test05() throws UnsupportedEncodingException{ String str = "尚矽谷"; byte[] bytes = str.getBytes("ISO8859-1"); System.out.println(Arrays.toString(bytes));//[63, 63, 63] String string = new String(bytes,"ISO8859-1"); System.out.println(string); } @Test public void test04() throws UnsupportedEncodingException{ String str = "尚矽谷"; byte[] bytes = str.getBytes("GBK"); System.out.println(Arrays.toString(bytes));//[-55, -48, -71, -24, -71, -56] String string = new String(bytes,"GBK"); System.out.println(string); } @Test public void test03() throws UnsupportedEncodingException{ String str = "尚矽谷"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[-27, -80, -102, -25, -95, -123, -24, -80, -73] String string = new String(bytes,"UTF-8"); System.out.println(string); } @Test public void test02(){ String str = "abc"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[97, 98, 99] } @Test public void test01(){ String str = "a"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[97] } }
package com.atguigu.test09; import java.io.UnsupportedEncodingException; import java.util.Arrays; import org.junit.Test; /* * 方式系列三:和byte相關,或者說和編碼與解碼相關 * (1)byte[] getBytes():編碼的方法,使用平臺預設的字元編碼進行編的 * byte[] getBytes(編碼方式): * * 編碼: 對於ASCII碼範圍內(0~127),無論用什麼編碼方式,結果都是一樣的,一個字元對應一個位元組的編碼值 * 對於其他的字元,編碼,結果不一定是幾個位元組,例如漢字: * UTF-8:變長的,但是大多數漢字都是3個位元組 * GBK、GB2312:固定2個位元組 * ISO8859-1:不支援中文,所有字元都變為1個位元組 * (2)new String(位元組陣列) * new String(位元組陣列,編碼方式) * * 編碼: * 把字元-->位元組的過程,編給計算機用的 * 解碼: * 把位元組-->字元的過程,解給人看的 * * 亂碼: * (1)編碼與解碼字符集不一致 * (2)缺位元組 */ public class TestStringMethod3 { @Test public void test05() throws UnsupportedEncodingException{ String str = "尚矽谷"; byte[] bytes = str.getBytes("ISO8859-1"); System.out.println(Arrays.toString(bytes));//[63, 63, 63] String string = new String(bytes,"ISO8859-1"); System.out.println(string); } @Test public void test04() throws UnsupportedEncodingException{ String str = "尚矽谷"; byte[] bytes = str.getBytes("GBK"); System.out.println(Arrays.toString(bytes));//[-55, -48, -71, -24, -71, -56] String string = new String(bytes,"GBK"); System.out.println(string); } @Test public void test03() throws UnsupportedEncodingException{ String str = "尚矽谷"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[-27, -80, -102, -25, -95, -123, -24, -80, -73] String string = new String(bytes,"UTF-8"); System.out.println(string); } @Test public void test02(){ String str = "abc"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[97, 98, 99] } @Test public void test01(){ String str = "a"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[97] } }