java - OR 运算符 - 哪个语句更有效?

标签 java

当我使用 OR 运算符时,只有一个表达式必须为 true。第一个 if 语句是否更有效,因为 java 仅检查第一个表达式?或者java同时检查两者吗?

public class Test {
    public static void main(String args[]) {

        boolean test = true;

        if (test || calculate()) {
            // do something
        }

        if (calculate() || test) {
            // do something
        }
    }

    public static boolean calculate() {
        // processor-intensive algorithm
    }
}

最佳答案

if (test || calculate())

test 为 true 时,永远不会调用 calculate(),因为 || 运算符是短路的,因此该语句在以下情况下效率更高: 测试是正确的。

关于java - OR 运算符 - 哪个语句更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28188552/

相关文章:

java - Integer.MAX_VALUE 和 Integer.MIN_VALUE 如何初始化?

java - Stream.skip 行为与无序终端操作

java.lang.NoClassDefFoundError : In Rest API JAVA

Java 泛型 : non-static type variable T cannot be referenced from a static context

java - 如何用 Java 为该服务编写 TestCase?

java - catch语句的顺序?

java - Swing 和 SWT 事件自动记录器

java - 以地球为中心的地球经纬度高度在 Swift 中固定

java - 在 Java 中完成事务的正确代码模式是什么(异常回滚并成功提交)?

java - 通过线程在 TextView 中闪烁光标