出自:https://blog.csdn.net/ibelieve618/article/details/54948729
1、JAVA中嗽上,char占2字節(jié)次舌,16位∈薹撸可在存放漢字
2彼念、char賦值
char a='a'; ?//任意單個字符,加單引號浅萧。
char a='中';//任意單個中文字逐沙,加單引號。
char a=111;//整數(shù)洼畅。0~65535吩案。十進(jìn)制、八進(jìn)制帝簇、十六進(jìn)制均可徘郭。輸出字符編碼表中對應(yīng)的字符靠益。
注:只能放單個字符。?
3崎岂、char運(yùn)算
char類型是可以運(yùn)算的因?yàn)閏har在ASCII等字符編碼表中捆毫,有對應(yīng)的數(shù)值。
在JAVA中冲甘,對char類型字符運(yùn)行時绩卤,直接當(dāng)做ASCII表對應(yīng)的整數(shù)來對待。
示例:
char m='a'; ——a江醇。
char m='a'+'b'; ——?濒憋。 ?//char類型相加,提升為int類型陶夜,輸出對應(yīng)的字符凛驮。注,在CMD.exe用輸出結(jié)果是問題?条辟,不同的編碼輸出顯示不一樣黔夭。Eclipse中須改成UTF-8。
int m='a'+'b'; ——195羽嫡。//195沒有超出int范圍本姥,直接輸出195。
char m='a'+b; ——報(bào)錯杭棵。//因?yàn)閎是一個賦值的變量婚惫。
char m=197; ——?。 //輸出字符編碼表中對應(yīng)的字符魂爪。
char m='197; ——報(bào)錯先舷。//因?yàn)橛袉我枺硎臼亲址沂蹋辉试S放單個字符蒋川。
char m='a'+1; ——b。//提升為int撩笆,計(jì)算結(jié)果98對應(yīng)的字符是b尔破。
char m='中'+'國'; ——42282。
char m='中'+'國'+'國'+'國'; ——報(bào)錯浇衬。int轉(zhuǎn)char有損失懒构。因?yàn)榻Y(jié)果已經(jīng)超出char類型的范圍。
int m='中'+'國'+'國'+'國'; ——86820
char m='中'+1; ——丮耘擂。//1是int胆剧,結(jié)果提升為int,輸出對應(yīng)的字符。
char m='中'+"國"; ——報(bào)錯秩霍。String無法轉(zhuǎn)換為char篙悯。
System.out.println('中'+"國"); ——中國。//沒有變量附值的過程铃绒。String與任何字符用“+”相連鸽照,轉(zhuǎn)換為String。
個人總結(jié):