一、基礎概念
Java中的字元是基本數據類型之一,表示一個Unicode字元。
Java中的char類型佔用2個位元組,範圍為0到65535,對應的是UTF-16字元編碼。
Java中使用單引號來表示一個字元,例如:’A’,’1’。
二、字元轉化
將字元轉化為對應的整數值
char ch = 'A'; int value = (int)ch; // value的值為65
將字元轉化為對應的字元串
char ch = 'A'; String str = String.valueOf(ch); // str的值為"A"
將一串字元轉化為字元數組
String str = "Hello"; char[] arr = str.toCharArray(); // arr的值為{'H', 'e', 'l', 'l', 'o'}
三、字元比較
在Java中,可以使用以下幾種方式比較兩個字元的大小關係:
1、使用char類型自帶的比較運算符
char ch1 = 'A'; char ch2 = 'B'; boolean result = (ch1 < ch2); // result的值為true,因為'A'的Unicode值小於'B'
2、使用ASCII碼進行比較
char ch1 = 'A'; char ch2 = 'B'; boolean result = ((int)ch1 < (int)ch2); // result的值為true,因為65比66小
3、使用Character.compare()方法進行比較
char ch1 = 'A'; char ch2 = 'B'; int result = Character.compare(ch1, ch2); // result的值為-1,因為'A'小於'B'
四、字元大小寫轉換
將字元轉換為大寫字元
char ch = 'a'; char upperCase = Character.toUpperCase(ch); // upperCase的值為'A'
將字元轉換為小寫字元
char ch = 'A'; char lowerCase = Character.toLowerCase(ch); // lowerCase的值為'a'
五、字元類型判斷
判斷字元是否為數字字元
char ch = '7'; boolean isDigit = Character.isDigit(ch); // isDigit的值為true
判斷字元是否為字母字元
char ch = 'A'; boolean isLetter = Character.isLetter(ch); // isLetter的值為true
判斷字元是否為大寫字母
char ch = 'A'; boolean isUpperCase = Character.isUpperCase(ch); // isUpperCase的值為true
判斷字元是否為小寫字母
char ch = 'a'; boolean isLowerCase = Character.isLowerCase(ch); // isLowerCase的值為true
六、字元編碼轉換
將字元轉化為UTF-8編碼位元組數組
char ch = '中'; byte[] bytes = String.valueOf(ch).getBytes("UTF-8");
將UTF-8編碼位元組數組轉換為字元
byte[] bytes = new byte[]{(byte)0xe4, (byte)0xb8, (byte)0xad}; String str = new String(bytes, "UTF-8"); char ch = str.charAt(0); // ch的值為'中'
七、字元替換和刪除
將字元串中指定字元替換為另一個字元
String str = "Hello World"; String newStr = str.replace('l', 'L'); // newStr的值為"HeLLo WorLd"
將字元串中指定子串替換為另一個子串
String str = "Hello World"; String newStr = str.replace("World", "Java"); // newStr的值為"Hello Java"
將字元串中的所有空格字元刪除
String str = "This is a test "; String newStr = str.replaceAll("\\s", ""); // newStr的值為"Thisisatest"
八、字元拼接和轉化
將字元數組拼接成字元串
char[] arr = {'H', 'e', 'l', 'l', 'o'}; String str = String.valueOf(arr);
將字元串拆分成字元數組
String str = "Hello"; char[] arr = str.toCharArray(); // arr的值為{'H', 'e', 'l', 'l', 'o'}
將十六進位字元串轉換為字元數組
String hexStr = "48656C6C6F"; // Hello的十六進位形式 char[] arr = new char[hexStr.length() / 2]; for (int i = 0; i < arr.length; i++) { arr[i] = (char)Integer.parseInt(hexStr.substring(i*2, i*2+2), 16); } // arr的值為{'H', 'e', 'l', 'l', 'o'}
原創文章,作者:UCLHG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/369259.html