1、JAVA中,char占2字節,16位。可在存放漢字
2、char賦值
char a='a'; //任意單個字符,加單引號。
char a='中';//任意單個中文字,加單引號。
char a=111;//整數。0~65535。十進制、八進制、十六進制均可。輸出字符編碼表中對應的字符。
注:只能放單個字符。
3、char運算
char類型是可以運算的因為char在ASCII等字符編碼表中有對應的數值。
在JAVA中,對char類型字符運行時,直接當做ASCII表對應的整數來對待。
示例:
char m='a'; ——a。
char m='a'+'b'; ——Ã。 //char類型相加,提升為int類型,輸出對應的字符。注,在CMD.exe用輸出結果是問題?,不同的編碼輸出顯示不一樣。Eclipse中須改成UTF-8。
int m='a'+'b'; ——195。//195沒有超出int范圍,直接輸出195。
char m='a'+b; ——報錯。//因為b是一個賦值的變量。
char m=197; ——Ã。 //輸出字符編碼表中對應的字符。
char m='197; ——報錯。//因為有單引號,表示是字符,只允許放單個字符。
char m='a'+1; ——b。//提升為int,計算結果98對應的字符是b。
char m='中'+'國'; ——42282。
char m='中'+'國'+'國'+'國'; ——報錯。int轉char有損失。因為結果已經超出char類型的范圍。
int m='中'+'國'+'國'+'國'; ——86820
char m='中'+1; ——丮。//1是int,結果提升為int,輸出對應的字符。
char m='中'+"國"; ——報錯。String無法轉換為char。
System.out.println('中'+"國"); ——中國。//沒有變量附值的過程。String與任何字符用“+”相連,轉換為String。
總結:
用單引號''標識,只能放單個字符。
char+char,char+int——類型均提升為int,附值char變量后,輸出字符編碼表中對應的字符。