3 回答

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
如果你只是想用?'\377' 這樣的形式——通過(guò)轉(zhuǎn)義八進(jìn)制數(shù)——來(lái)表示 char 的話,那么確實(shí)不行。
Java 只允許轉(zhuǎn)義不超過(guò) 0377 的八進(jìn)制數(shù)來(lái)表示字符。0377 是占滿 8 位的數(shù),但 Java 中的 char 是 16 位,所以無(wú)法表達(dá)所有 char 值。? 其實(shí) Java 允許轉(zhuǎn)義八進(jìn)制數(shù)表示字符是來(lái)源于 C 語(yǔ)言,C 中字符類型只占 8 位,所以才有這個(gè)限制。
Java 是推薦使用轉(zhuǎn)義十六進(jìn)制數(shù)來(lái)表示 char 的。
如果不用轉(zhuǎn)義,換一種方式,你可以用“把八進(jìn)制數(shù)表示為整型,再把整型轉(zhuǎn)為 char 類型”來(lái)實(shí)現(xiàn)八進(jìn)制數(shù)到 char 的轉(zhuǎn)換。
用 '卷' 舉例,它的八進(jìn)制數(shù)值為 051567,可以這樣:char c = (char)051567;

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
Java 中的字符型 char 并不是只占用 1 字節(jié),它占用 16 字節(jié)(抱歉,這里之前手誤,應(yīng)該是 16 位)。而且 Java 中字符采用 UTF-16 編碼,所以一個(gè)字符有可能占用兩個(gè) char。
另外,如何表示和進(jìn)制沒關(guān)系。
添加回答
舉報(bào)