Java 八大基本類型
| 類型 | 位數 | 默認值 | 取值範圍 | 包裝類 |
| byte | 8 | 0 | -128 ~ 127 | Byte |
| short | 16 | 0 | -32,768 ~ 32,767 | Short |
| int | 32 | 0 | -2^31 ~ 2^31-1 | Integer |
| long | 64 | 0L | -2^63 ~ 2^63-1 | Long |
| float | 32 | 0.0f | ~3.4e38 | Float |
| double | 64 | 0.0d | ~1.7e308 | Double |
| char | 16 | '\u0000' | 0 ~ 65,535 | Character |
| boolean | 1~8 | false | true/false | Boolean |
核心知識點
- 自動拆裝箱:JDK 5+ 編譯器自動在基本類型與包裝類間轉換,如
Integer i = 10; // 自動裝箱。
- 緩存機制:
Integer.valueOf(-128~127) 返回緩存對象,直接比較引用會導致邏輯錯誤,請用 equals()。
- 精度陷阱:
float/double 不適合貨幣計算,請用 BigDecimal。
- 字符編碼:
char 存 UTF-16 碼元,補字符需雙代碼單元(codePointAt)。
常用 API 速查
// 解析字符串
int i = Integer.parseInt("123");
double d = Double.parseDouble("3.14");
// 進制轉換
String hex = Integer.toHexString(255); // "ff"
int val = Integer.parseInt("ff", 16); // 255
// 包裝類工具
Integer.max(1, 2);
Double.isNaN(0.0/0.0);
Character.isDigit('9');