byte與char的區別
阿新 • • 發佈:2019-04-11
byte 是位元組資料型別 ,是有符號型的,佔1 個位元組;大小範圍為-128—127 。char 是字元資料型別 ,是無符號型的,佔2位元組(Unicode碼 );大小範圍 是0—65535 ;char是一個16位二進位制的Unicode字元,JAVA用char來表示一個字元 。
下面用例項來比較一下二者的區別:
1、Char是無符號型的,可以表示一個整數,不能表示負數;而byte是有符號型的,可以表示-128—127 的數;如:
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);
結果為:
?
1
-1
127
-128
2、char可以表中文字元,byte不可以,如:
char e1 = '中', e2 = '國'; byte f= (byte) '中'; //必須強制轉換否則報錯 System.out.println(e1); System.out.println(e2); System.out.println(f);
結果為:
中
國
45
3、char、byte、int對於英文字元,可以相互轉化,如:
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