很多初學者肯會對char和byte這兩種數據類型有所疑惑,相互混淆,今天特地查了好多資料,對byte和char兩種數據類型進行了總結和比較,先將結果與大家分享: byte 是字節數據類型 ,是有符號型的,占1 個字節;大小范圍為-128—127 。char 是字符數據類型 ,是無符號型的,占2字節(Unicode碼 );大小范圍 是0—65535 ;char是一個16位二進制的Unicode字符,JAVA用char來表示一個字符 。 下面用實例來比較一下二者的區別: 1、Char是無符號型的,可以表示一個整數,不能表示負數;而byte是有符號型的,可以表示-128—127 的數;如: [html] 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不可以,如: [html] char e1 = '中', e2 = '國'; byte f= (byte) '中'; //必須強制轉換否則報錯 System.out.println(e1); System.out.println(e2); System.out.println(f); 結果為: 中 國 45 3、char、byte、int對於英文字符,可以相互轉化,如: [html] www.2cto.com 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