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