相关疑难解决方法(0)

Java是否在知道布尔结果后评估剩余条件?

也就是说,如果我有一个评估多个条件的语句,比如说'或'这样的语句.

if(isVeryLikely() || isSomewhatLikely() || isHardlyLikely())
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下isVeryLikely(),在运行时返回true,将isSomewhatLikely()isHardlyLikely()执行?如果不是方法而是静态布尔值呢?

java

29
推荐指数
2
解决办法
1万
查看次数

如果isOK = false,Java是否会浪费时间检查"if(isOK && conditionA)"中的conditionA?

好的,我正在构建程序来检查许多字段.如果至少有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
}
Run Code Online (Sandbox Code Playgroud)

好的,在运行时,程序将首先检查!Util.isReadyToUse(firstName).假设它返回(isOK = false).接下来程序将检查isOK && !Util.isReadyToUse(lastName).

所以在这里,我的问题是,由于isOK目前假,然后将程序花费时间来检查条件!Util.isReadyToUse(lastName)&&

好吧,作为一个人,如果你看到isOK=false ,现在你看到了isOK && !Util.isReadyToUse(email),那么你不想浪费时间去看,!Util.isReadyToUse(email)因为isOK = false,你看到&&isOK.

机器也会这样工作吗?

我正在考虑使用,break但为什么人们说break …

java

1
推荐指数
1
解决办法
269
查看次数

标签 统计

java ×2