java入門【五】java中的char型別
char的初始化
char是Java中的保留字,與別的語言不同的是,char在Java中是16位的,因為Java用的是Unicode。不過8位的ASCII碼包含在Unicode中,是從0~127的。
但是English,Spanish,German, French根本不需要這麼表示,所以它們其實採用ASCII碼會更高效。這中間就存在一個權衡問題。
因為char是16位的,採取的Unicode的編碼方式,所以char就有以下的初始化方式:
//字元,可以是漢字,因為是Unicode編碼
char c = 'c';
//可以用整數賦值
char c = 十進位制數,八進位制數,十六進位制數等等;
//用字元的編碼值來初始化
char c = '\u數字';
關於char佔幾個位元組的問題
1.“位元組”是byte,“位”是bit ;
2.1 byte = 8 bit ;
char 在Java中是2個位元組。Java採用unicode,2個位元組(16位)來表示一個字元。
char型別賦值
char a = 'a'; //任意單個字元,加單引號。
char a = '中';//任意單箇中文字,加單引號。
char a = 111;//整數。0~65535。十進位制、八進位制、十六進位制均可。輸出字元編碼表中對應的字元。
注:char只能放單個字元。
char運算
char型別是可以運算的因為char在ASCII等字元編碼表中有對應的數值。
在Java中,對char型別字元執行時,直接當做ASCII表對應的整數來對待。
示例:
char m = 'a';
char m = 'a' + 'b'; //char型別相加,提升為int型別,輸出對應的字元。
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 + char,char + int——型別均提升為int,附值char變數後,輸出字元編碼表中對應的字元。
轉載於