問題闡述
判斷下列程序代碼的運行結果,如何修改代碼中的條件判斷才能正確執(zhí)行 if…else語句。
public class Example {public static void main(String[] args) {
if(true)
System.out.println("合法");
else;
System.oout.println("非法");
}
}
解答
問題闡述中的代碼,運行后將顯示如圖 4.2 所示的結果。
如果想讓上述代碼中的條件判斷正確執(zhí)行 if…else 語句,需要將 else 后面的分號去掉。去掉該分號后,再次運行將顯示如圖 4.3 所示的結果。
點評
分號是 Java 語句的結束符,當遇到該符號時,編譯器認為是一條語句的終止,但是該符號如果出現(xiàn)在不該出現(xiàn)的位置,則會導致程序異常的運行結果,這是編譯器無法檢測到的。例如,if 語句用于程序流程控制的條件判斷,它可以使用 if…else 組成復雜的條件判斷,如果在 if 語句條件判斷之后直接添加了分號,或者在 if…else 語句的 else 語句后添加了分號,就會立刻結束該 if 語句,使它失去作用。因此,一定要留 if…else 語句是否合理地使用分號結束該語句。