问题阐述
判断下列程序代码的运行结果,如何修改代码中的条件判断才能正确执行 if…else语句。
public class Example {public static void main(String[] args) {
if(true)
System.out.println("合法");
else;
System.oout.println("非法");
}
}
解答
问题阐述中的代码,运行后将显示如图 4.2 所示的结果。
如果想让上述代码中的条件判断正确执行 if…else 语句,需要将 else 后面的分号去掉。去掉该分号后,再次运行将显示如图 4.3 所示的结果。
点评
分号是 Java 语句的结束符,当遇到该符号时,编译器认为是一条语句的终止,但是该符号如果出现在不该出现的位置,则会导致程序异常的运行结果,这是编译器无法检测到的。例如,if 语句用于程序流程控制的条件判断,它可以使用 if…else 组成复杂的条件判断,如果在 if 语句条件判断之后直接添加了分号,或者在 if…else 语句的 else 语句后添加了分号,就会立刻结束该 if 语句,使它失去作用。因此,一定要留 if…else 语句是否合理地使用分号结束该语句。