当前位置: 首页 > 面试题库 >

为什么&&的优先级高于|| (Java)

淳于烈
2023-03-14
问题内容
    boolean a = true;
    boolean b = true;
    boolean c = false;

    System.out.println(a || b && c); // true
    System.out.println(b && c || a); // true

我最近才发现我认为这里有些奇怪。为什么会这样,&&并且||处于不同的优先级?我会以为他们处于同一水平。以上证明了这一点。即使从左到右的求值对第一个给出的都是假,而第二个则给出的是真,这两个陈述都是正确的。

有人知道这背后的原因吗?

(顺便说一句,我只是在这里使用了很多括号,但是是旧代码提出了这个问题)


问题答案:

因为在传统的数学表示法中,and(逻辑合取)的优先级高于or(逻辑合取)。

出于显而易见的原因,所有非深奥的编程语言都将反映这种事情的现有约定。



 类似资料:
  • 问题内容: 如果我将Class声明为字段: Eclipse给我警告: 类是原始类型。对泛型类型Class的引用应参数化 在实践中这意味着什么?我为什么要这样做呢?如果我要求Eclipse提供“快速修复”,它将给我: 这似乎并没有增加太多价值,但不再发出警告。 编辑:为什么类通用?您能否举一个参数化的例子,即可以有效使用除以外的东西吗? 编辑:哇!我还没有意识到这一点。我也看过Java拼图游戏,这肯

  • 问题内容: 我在服务器上有一个网站。主页为example.com/index.php。 好的,我将一个index.html命名文件上传到服务器(根目录),当我在浏览器的URL栏中键入站点的域时,感到很惊讶,因为index.html页面已加载。 (example.com-> example.com/index.html)所以不是我想要的。 我的问题:为什么会这样?为什么index.html比inde

  • 我需要一个优先级队列,它首先获得具有最高优先级值的项目。我当前正在使用队列库中的PriorityQueue类。但是,这个函数只先返回值最小的项。我尝试了一些很难看的解决方案,比如(sys.maxint-priority)作为优先级,但我只是想知道是否存在更优雅的解决方案。

  • 本文向大家介绍什么是用例优先级?相关面试题,主要包含被问及什么是用例优先级?时的应答技巧和注意事项,需要的朋友参考一下 ② 高:最常执行以保证功能性是稳定的,目标的行为和能力可以正常的工作,和重要的错误和边界被测试的测试用例的集合。 ③ 中:这是使给出的功能区域或功能变得更详细,检查功能的多数方面包括边界,错误和配置测试的测试用例。 ④ 低:这是通常最少被执行的测试用例。但这并不意味着这些测试都不

  • 所以我的问题是为什么not Queue比list更受欢迎。我相信一定有某种原因,但不知何故,我错过了这种理解? 更新:-这是我明确的要求 1)加法发生在末尾,应该很快。可能是O(1) 3)由于查找将基于om索引进行,因此两者都将是O(1)

  • 我目前正在研究分布式应用程序的性能。我的目标是网络组件。目前,每个连接都有一个专用线程,在阻塞模式下处理套接字。我的目标是减少线程数量(不降低性能),如果可能的话,提高性能。 我重新设计了网络组件以使用异步通信,并尝试使用1到2个线程来处理整个网络。我做了一个简单的测试,我从一个节点在一个循环中写入,然后在另一个节点上读取,这是为了测试最大nw线程能力,我发现我的繁忙循环实现消耗了100%的cpu