java条件运算符,为什么下面的代码输出为真?

标签 java conditional-operator

class test {
    public static void main (String[] args) {
        boolean a = false;
        boolean b = true;

        if (a && a || b) {
            System.out.println(true);
        }
    }
} //--why it always true????o/p is true but why??

最佳答案

操作顺序。

&&|| 具有更高的优先级,因此被评估首先。您的 if 条件可以重写如下:

(a && a) || b
(false && false) || true
false || true
true

此条件将始终为 false || true 对于您列出的条件始终为 true

检查 here用于 Oracle 的官方表格,其中列出了所有运算符的优先级。

关于java条件运算符,为什么下面的代码输出为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34690391/

相关文章:

java - cas 自定义注销

java - 我怎样才能让 java 的解析器容忍格式错误的 html?

java - android中同时调用多个rest服务链接

python - 带有三元运算符的 Walrus 运算符的正确语法是什么?

java - Java中的三元运算符链表查找方法

angularjs - 内联 if 中的多个语句

jersey - 用于将请求参数映射到对象的 Java 库

java - 如何从响应json中获取用户的id

php - if with continue 的简写

PHP 嵌套条件运算符错误?