繁体   English   中英

逻辑OR运算符与按位OR运算符

[英]logical OR operator vs bitwise OR operator

有谁知道原因:

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

打印“ 真实

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

打印“

在第一种情况下,&&的优先级高于|| 运算符,因此表达式被计算为if ( (false && true) || true )并且您得到True。

在第二种情况下,按位OR运算符的优先级高于&&,因此表达式的计算结果为if ( false && ( true | true ) )并且得到False。

由于运算符优先级 在第一个示例中,首先执行&& ,然后执行|| 但是按位OR具有更高的优先级,因此在第二个示例中, | 首先完成,然后是&&

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM