new 建立物件在堆上,效率較低。對小型、高頻變數,Java 採用 C/C++ 策略:非參考的「自動變數」,儲存實際值於堆疊,存取極快。
| 類型 | 大小 | 範圍/精度 |
|---|---|---|
| boolean | — | true/false (1.1+) |
| char | 16 bits | Unicode 字元 |
| byte | 8 bits | -128 ~ 127 |
| short | 16 bits | -32,768 ~ 32,767 |
| int | 32 bits | -2^31 ~ 2^31-1 |
| long | 64 bits | -2^63 ~ 2^63-1 |
| float | 32 bits | IEEE 754 單精度 |
| double | 64 bits | IEEE 754 雙精度 |
所有數值型均為有號,無需無號類型。大小不隨機器架構變化,是 Java 移植性基石。
char c = 'x';
Character C = new Character(c); // 或 new Character('x')
| 類別 | 用途 | 特點 |
|---|---|---|
| BigInteger | 任意精度整數 | 無上限、運算不丟失精度 |
| BigDecimal | 任意精度定點數 | 精確貨幣計算、避免浮點誤差 |
add()、multiply())