java - 短路运算符给我不同的结果

标签 java

使用短路运算符时&&|| ,我得到了意想不到的结果。

    if(false && false || true) {
        System.out.println("true");
    } else {
        System.out.println("false");
    }

它给了我true但根据短路规则,如果第一个操作数是 false那么就没有必要计算第二个操作数。谁能解释一下我遗漏了什么。

最佳答案

(false && false) || true
首先评估

。短路给出false,因此||不能被短路,因此被完全评估,

关于java - 短路运算符给我不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23461426/

相关文章:

java - 具有未经检查的异常的选项

java - 无法将 ViaPost 发送到 Axis2 1.6 中的 url

java - 在 JTextField/JTextPane/中使单词颜色不同?

java - 如何在 Java 中使用 printf 用 0 填充空白区域

java - 在 Java 中用零左填充整数(非十进制格式)

java - 尝试通过 Inline::Java 模块将 Java 内联到 Perl

java - 如何使用二分查找处理数组中的重复数字和两位或更多位数字?

java - 带有 jre-8 的 Alpine Linux Docker 容器没有 Nashorn 引擎

java - 当我们使用 PHP 进行开发时,平台的名称是什么?

java - 加密/解密 - iphone 到 java - BadPaddingException : Given final block not properly padded