我只是想知道一个' if'如果不再满足必须满足的条件,则运行中途的语句将停止运行。用文字很难解释,这是一个例子:
boolean flag = true;
if(flag){
//Some code execution here (code execution #1)
flag = false;
//Some more code execution here (code execution #2)
}
"代码执行#2"在这种情况下运行?或者当flag设置为false时,是否会跳过if语句的其余部分?
答案 0 :(得分:3)
if语句的全部内容将在条件检查时执行, flag 等于true。
答案 1 :(得分:0)
绝对不是您所描述的情况,因为if状态中的条件是在执行if时计算的。
如果你需要一个程序流控制机制来打破if语句,你可以使用异常(但由于很多原因,这不太理想),
或者,您可以使用标签和break语句:
boolean flag = false;
MYLABEL:
if (flag) {
if (true) {
break MYLABEL;
}
System.err.println("I will not execute");
}