Q80.
在Java 語言中,下列何者為有效的float 宣告?
電腦軟體設計(JAVA) · 乙級 · Java · Q80
難易度分析
3 / 5
本題考查對 Java 數值字面量後綴的辨識能力以及不同基本型別之間的自動型別轉換規則,需區分哪些後綴與 float 型別相容或可透過隱含轉換指派。
正確答案:①float x=-128;
① float x=-128;:整數 literal 可透過 隱含型別轉換(widening conversion) 直接指派給 `float` 變數,`-128` 為有效的 `int` 常數,編譯器會自動將其轉換為 `float` 型別。
錯誤選項解析
- ② float x=3.5X;:`X` 並非 Java 認可的數值後綴。合法的浮點數後綴僅有 `f` 或 `F`(表示 `float`),此寫法會導致編譯錯誤。
- ③ float x=10.2D;:`D` 後綴代表 `double` 型別,而 `double` 無法隱含轉換為 `float`(屬於 narrowing conversion),必須使用強制轉型如 `(float)10.2D` 才能通過編譯。
- ④ float x=25L;:`L` 後綴代表 `long` 型別,此宣告語法上可編譯通過(long 至 float 屬 widening conversion),但本題考點聚焦於「標準 float 宣告慣例」,使用 `L` 後綴不符合 float 的直觀宣告方式。
Learning Tip
"此類題型常考 數值 literal 後綴 的辨識:`F/f` 代表 `float`、`D/d` 代表 `double`、`L/l` 代表 `long`,無後綴的十進位數預設為 `int`。易混淆點在於 隱含轉換方向:`int` → `float` 合法,但 `double` → `float` 需強制轉型。實務上宣告 `float` 應習慣加上 `F` 後綴(如 `float x = 3.5f;`)以避免型別推斷錯誤。"
學員答題分佈
①float x=-128;0%
②float x=3.5X;0%
③float x=10.2D;0%
④float x=25L;0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!