類型 標識符[, 標識符...];
兩大類型體系:
byte/short/int/long(整數)、float/double(浮點)、char(Unicode 字符)、boolean(真/假)| 類型 | 位數 | 範圍/說明 |
|---|---|---|
| byte | 8 | -128 ~ 127 |
| short | 16 | -32,768 ~ 32,767 |
| int | 32 | -2^31 ~ 2^31-1 |
| long | 64 | -2^63 ~ 2^63-1,常加 L 後綴 |
| float | 32 | 單精度,加 f/F 後綴 |
| double | 64 | 雙精度,預設浮點類型 |
| char | 16 | Unicode 字符,單引號括起 |
| boolean | — | true/false,不可與數值互轉 |
作用域從聲明處延伸至所在代碼塊 {} 結束。內層塊可聲明同名變量隱藏外層:
int i = 1;
while (true) {
int i = 2; // 隱藏外層 i
// 此處 i 為 2
}
// 此處 i 為 1
最佳實踐:避免隱藏,使用有意義名稱、縮小作用域、善用註釋。
Java 無自動窄化轉換,需顯式強制轉型:
int a = 100;
char c = (char) a; // 窄化,可能丟失數據
安全擴寬轉換路徑(無數據損失):
byte → short → int → long → float → double
char → int → long → float → double
窄化轉換(如 long→int、double→float、float→int)可能丟失精度或溢出,需謹慎評估。