char 與byte的區別

不少初學者(包括我,已經學了一年多java了)肯會對char和byte這兩種數據類型有所疑惑,相互混淆,今天特意查了好多資料,對byte和char兩種數據類型進行了總結和比較,先將結果與你們分享:html

        byte 是字節數據類型 ,是有符號型的,佔1 個字節;大小範圍爲-128—127 。char 是字符數據類型 ,是無符號型的,佔2字節(Unicode碼 );大小範圍 是065535 ;char是一個16位二進制的Unicode字符,JAVAchar來表示一個字符 。java

        下面用實例來比較一下兩者的區別:spa

一、Char是無符號型的,能夠表示一個整數,不能表示負數;而byte是有符號型的,能夠表示-128—127 的數;如:code

char c = (char) -3; // char不能識別負數,必須強制轉換不然報錯,即便強制轉換以後,也沒法識別
System.out.println(c);
byte d1 = 1;
byte d2 = -1;
byte d3 = 127; // 若是是byte d3 = 128;會報錯
byte d4 = -128; // 若是是byte d4 = -129;會報錯
System.out.println(d1);
System.out.println(d2);
System.out.println(d3);
System.out.println(d4);

結果爲:orm

?
1
-1
127
-128
htm

二、char能夠表中文字符,byte不能夠,如:it

char e1 = '中', e2 = '國';
byte f= (byte) '中';	//必須強制轉換不然報錯
System.out.println(e1);
System.out.println(e2);
System.out.println(f);

結果爲:class



45
數據類型

三、char、byteint對於英文字符,能夠相互轉化,如:二進制

byte g = 'b';	//b對應ASCII是98
char h = (char) g;
char i = 85;	//U對應ASCII是85
int j = 'h';	//h對應ASCII是104
System.out.println(g);
System.out.println(h);
System.out.println(i);
System.out.println(j);

結果爲:
98
b
U
104

相關文章
相關標籤/搜索