在 Java 中把字元轉為大寫/小寫
-
使用
toUpperCase()
/toLowerCase()
方法將一個字元轉換為大寫/小寫 - 使用二進位制操作和十六進位制將字元轉換為大寫/小寫
-
使用
com.apache.commons
中的capitalize()
/lowerCase
將字元轉換為大寫和小寫
本教程將介紹將字元轉換為小寫/大寫字元的方法。我們有四種方法,我們將在下面的例子中看到。
使用 toUpperCase()
/toLowerCase()
方法將一個字元轉換為大寫/小寫
Character
是 char
的封裝類,提供了幾種方法來操作字元,如 toUpperCase()
和 toLowerCase()
。雖然這些方法不能處理所有的 Unicode 字元,但是它們可以處理常用的字母。
我們有兩個 char
變數,char1
有一個小寫字母,而 char2
有一個大寫字母。為了將 char1
轉換為大寫字元,我們呼叫 Character
類中的 toUpperCase()
靜態方法,並傳遞 char1
作為引數。同樣的,我們也可以將 char2
轉換為小寫字母;我們呼叫 toLowerCase()
方法。
public class CharUpperLowerCase {
public static void main(String[] args) {
char char1, char2;
char1 = 'a';
char2 = 'B';
char char1UpperCase = Character.toUpperCase(char1);
char char2LowerCase = Character.toLowerCase(char2);
System.out.println(char1UpperCase);
System.out.println(char2LowerCase);
}
}
輸出:
A
b
使用二進位制操作和十六進位制將字元轉換為大寫/小寫
由於每個字元都有一個 ASCII 值和二進位制表示,我們可以進行二進位制操作。我們使用十六進位制的 0x5f
其二進位制表示為 1011111,0x20
表示二進位制的 0100000。
char1
的字元是 a
,其二進位制值是 01100001,我們在字元上附加代表二進位制 AND 運算的符號&
和 0x5f
。我們知道 0x5f
的二進位制值是 1011111,當我們執行 01100001 和 1011111 之間的 AND 操作時,我們得到的值 01000001 就是大寫字母 A
的二進位制表示。
char2
包含大寫字元 B
,其二進位制程式碼為 01000010。我們附加等於 OR 二進位制操作的|
符號和 0x20
,其二進位制值為 0100000。現在 01000010 OR 0100000 將被執行,結果將是 01100010,與小寫字元 b
相同。
請注意,由於我們使用 char
型別來儲存字元,二進位制值被轉換為它們的代表字元,而不需要任何轉換。
public class CharUpperLowerCase {
public static void main(String[] args) {
char char1, char2;
char1 = 'a' & 0x5f;
char2 = 'B' | 0x20;
System.out.println(char1);
System.out.println(char2);
}
}
輸出:
A
b
使用 com.apache.commons
中的 capitalize()
/lowerCase
將字元轉換為大寫和小寫
在這個例子中,我們使用 Apache Commons Library 中的 StringUtils
類。首先,我們使用下面的 maven 依賴關係在專案中加入這個庫。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
StringUtils
顧名思義,提供了操作字串的實用方法。我們有兩個字串,每個字串中都有一個字元。string1
有一個小寫的 a
。我們使用 StringUtils.capitalize()
並將 string1
作為引數傳遞給我們,將其轉換為大寫。string2
有一個大寫的 B
。我們可以使用 StringUtils.lowerCase()
並傳遞 string2
作為引數將其轉換為小寫。
我們得到字串型別的結果,但我們的目標是得到 char
資料型別的值,所以,我們使用 charAt(0)
來得到兩個字串中唯一的一個字元作為 char
。
import org.apache.commons.lang3.StringUtils;
public class CharUpperLowerCase {
public static void main(String[] args) {
char char1, char2;
String string1 = "a";
String string2 = "B";
String string1UpperCase = StringUtils.capitalize(string1);
String string2LowerCase = StringUtils.lowerCase(string2);
char1 = string1UpperCase.charAt(0);
char2 = string2LowerCase.charAt(0);
System.out.println(char1);
System.out.println(char2);
}
}
輸出:
A
b
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn