好的,我正在构建程序来检查许多领域。如果至少 1 个字段不正确,那么我不希望我的程序花时间检查其他字段。那么让我们看看这段代码:
// Util.isReadyToUse method return true if the string is ready for using, & return false if it is not.
boolean isOK=true;
if(!Util.isReadyToUse(firstName)){
isOK=false;
}
else if(isOK && !Util.isReadyToUse(lastName)){
isOK=false;
}
else if(isOK && !Util.isReadyToUse(email)){
isOK=false;
}
.....more checking
if(isOK) {
//do sthing
}
好的,运行时,程序会先检查!Util.isReadyToUse(firstName)
. 假设它返回(isOK=false)。接下来程序将检查isOK && !Util.isReadyToUse(lastName)
.
所以我的问题是,既然isOK
目前是假的,那么程序会花时间检查!Util.isReadyToUse(lastName)
之后的条件&&
吗?
好吧,作为一个人,如果你看到isOK=false
了,现在你看到了isOK && !Util.isReadyToUse(email)
,那么你不想浪费时间看,!Util.isReadyToUse(email)
因为 isOK=false 并且你看到了&&
after isOK
。
机器也会这样工作吗?
我正在考虑使用break
,但为什么人们说break
在 if 语句中不起作用:
if(!Util.isReadyToUse(firstName)){
isOK=false;
break;
}
else if(isOK && !Util.isReadyToUse(lastName)){
isOK=false;
break;
}......
在这种情况下最好的解决方案是什么?