【问题标题】:how does java check conditions with logical operators [duplicate]java如何使用逻辑运算符检查条件[重复]
【发布时间】:2014-05-22 18:50:07
【问题描述】:
假设我有这样简单的事情:
if(condition_1 || condition_2) {
do something
}
如果 condition_1 为真,java 会继续检查 condition_2 吗?
我问是因为我知道条件 1 是否为真,条件 2 会抛出错误,我想知道是否需要制作两个单独的 if。
【问题讨论】:
标签:
java
conditional-statements
【解决方案1】:
if(condition_1 || condition_2)
if condition_1 is true, does java go on and also check condition_2?
不!
谷歌short circuiting 概念。
【解决方案2】:
没有。 Java 使用short-circuiting 运算符:
-
if (condition1 || condition2) 仅当条件 1 为 false 时才会评估条件 2。
-
if (condition1 && condition2) 仅当条件 1 为 true 时才会评估条件 2。
一般:只有在需要时才会评估第二个条件。
有关更多信息,请参阅Java operators。
【解决方案3】:
您也可以只使用一个| 令牌来检查这两个条件。
if (trueField | isButtonDown()) {
//
}
事件如果第一个为真,则调用该方法。有两个||,不会被调用。