LONGEPASS
Q4.

Java 語言將分號放在if 指令敘述右小括號後面,會發生以下何種情況?

電腦軟體設計(JAVA) · 乙級 · Java · Q4

難易度分析

3 / 5

此題要求辨別程式碼在語法合法但邏輯不符預期時的錯誤分類。考點在於理解分號在特定語法結構中會被視為一個獨立的空陳述式,進而改變程式的控制流向,需具備區分編譯階段、執行階段與邏輯運算階段錯誤的能力。

正確答案:①邏輯錯誤

① 邏輯錯誤:在 if 條件式右小括號後加分號 會形成空陳述(empty statement),導致後續程式碼區塊不受條件控制而無條件執行,程式可編譯與執行但行為偏離預期,屬於典型的邏輯錯誤(Logic Error)。

錯誤選項解析

  • ② 語法錯誤:語法錯誤(Syntax Error) 指程式碼違反 Java 語法規則而無法被解析,但 `if (條件);` 是完全合法的語法結構,分號在此處被視為空陳述的終止符,因此不會產生語法錯誤。
  • ③ 編譯錯誤:編譯錯誤(Compilation Error) 發生在原始碼無法通過編譯器檢查時,此寫法語法正確,編譯器會正常通過,僅可能發出警告(warning) 而非錯誤。
  • ④ 執行時期例外錯誤:執行時期例外錯誤(Runtime Exception) 是程式運行中因異常狀況(如 NullPointerException、ArrayIndexOutOfBoundsException)而拋出例外,此情境下程式會正常執行但不會拋出任何例外。
Learning Tip

"此題核心考點為錯誤類型的辨識。邏輯錯誤最難偵測,因為程式可正常編譯與執行,僅結果不正確。在 Java 中,`if (條件);` 後的分號代表空陳述,是初學者常犯的隱性錯誤,建議使用 IDE 的程式碼檢查工具或開啟編譯器警告選項來輔助偵測此類問題。"

學員答題分佈

①邏輯錯誤0%
②語法錯誤0%
③編譯錯誤0%
④執行時期例外錯誤0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目