關於Java的8種基本數據類型,其名稱、位數、默認值、取值范圍及示例如下表所示:
序號 |
數據類型 |
位數 |
默認值 |
取值范圍 |
舉例說明 |
| 1 | byte(位) | 8 | 0 | -2^7 - 2^7-1 | byte b = 10; |
| 2 | short(短整數) | 16 | 0 | -2^15 - 2^15-1 | short s = 10; |
| 3 | int(整數) | 32 | 0 | -2^31 - 2^31-1 | int i = 10; |
| 4 | long(長整數) | 64 | 0 | -2^63 - 2^63-1 | long l = 10l; |
| 5 | float(單精度) | 32 | 0.0 | -2^31 - 2^31-1 | float f = 10.0f; |
| 6 | double(雙精度) | 64 | 0.0 | -2^63 - 2^63-1 | double d = 10.0d; |
| 7 | char(字符) | 16 | 空 | 0 - 2^16-1 | char c = 'c'; |
| 8 | boolean(布爾值) | 8 | false | true、false | boolean b = true; |
為了驗證表格里的內容,在eclipse里運行驗證代碼如下:
1 package com.ce.test; 2 3 class Test { 4 static byte b; 5 static short s; 6 static int i; 7 static long l; 8 static float f; 9 static double d; 10 static char c; 11 static boolean bo; 12 13 public static void main(String[] args) { 14 15 System.out.println("byte的大小:"+Byte.SIZE 16 +";默認值:"+b 17 +";數據范圍:"+Byte.MIN_VALUE+" - "+Byte.MAX_VALUE); 18 19 System.out.println("short的大小:"+Short.SIZE 20 +";默認值:"+s 21 +";數據范圍:"+Short.MIN_VALUE+" - "+Short.MAX_VALUE); 22 23 System.out.println("int的大小:"+Integer.SIZE 24 +";默認值:"+i 25 +";數據范圍:"+Integer.MIN_VALUE+" - "+Integer.MAX_VALUE); 26 27 System.out.println("long的大小:"+Long.SIZE 28 +";默認值:"+l 29 +";數據范圍:"+Long.MIN_VALUE+" - "+Long.MAX_VALUE); 30 31 System.out.println("float的大小:"+Float.SIZE 32 +";默認值:"+f 33 +";數據范圍:"+Float.MIN_VALUE+" - "+Float.MAX_VALUE); 34 35 System.out.println("double的大小:"+Double.SIZE 36 +";默認值:"+d 37 +";數據范圍:"+Double.MIN_VALUE+" - "+Double.MAX_VALUE); 38 39 System.out.println("char的大小:"+Character.SIZE 40 +";默認值:"+c 41 +";數據范圍:"+Character.MIN_VALUE+" - "+Character.MAX_VALUE); 42 43 System.out.println("boolean的大小:"+Byte.SIZE 44 +";默認值:"+bo 45 +";數據范圍:"+Byte.MIN_VALUE+" - "+Byte.MAX_VALUE); 46 47 } 48 }
在控制台輸出結果如下圖所示:

此處為什么輸出char的數據范圍不是0 - 65535呢?
Java中的char類型由兩個字節即十六位來表示,因為是無符號數,所以為2的16次方,數值范圍就為:0 - 2^16-1;
