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變數後,輸出字元編碼表中對應的字元。