| 類別 | 型別 | 位元數 | 範圍 / 說明 |
|---|---|---|---|
| 字元型 | char | 16 位 | 儲存 Unicode 碼,單引號賦值 |
| 邏輯型 | boolean | — | true / false |
| 整數型 | byte | 8 位 | -128 ~ 127 |
| short | 16 位 | -2¹⁵ ~ 2¹⁵-1 | |
| int | 32 位 | -2³¹ ~ 2³¹-1 | |
| long | 64 位 | -2⁶³ ~ 2⁶³-1 | |
| 浮點型 | float | 32 位 | 3.4e-45 ~ 1.4e38,賦值需加 F/f |
| double | 64 位 | 4.9e-324 ~ 1.8e308,預設型別,可加 D/d |
小資料型別 → 大資料型別,編譯器自動完成:
byte → short → int → long → float → double
char → int
注意:byte、short、char 之間不會直接轉換,先提升為 int 再運算。
大資料型別 → 小資料型別,需開發者明確轉型,可能造成精度遺失或資料截斷:
double → float → long → int → short → byte
int i = 128;
byte b = (byte) i; // 強制轉換,結果為 -128(溢位)
double d = 3.14;
float f = (float) d; // 可能損失精度
long 常數必須加 L;float 常數必須加 F。