gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:03:57 25 4
gpt4 key购买 nike

    boolean a = true;
boolean b = true;
boolean c = false;

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

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

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

(顺便说一句,我本来可以在这里使用大量括号,但提出问题的是旧代码)

最佳答案

因为在传统的数学符号中,and(logical conjunction)比or(logical disjunction)具有更高的优先级。

出于显而易见的原因,所有非深奥的编程语言都将反射(reflect)此类事情的现有惯例。

关于java - 为什么 && 的优先级高于 || ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20844191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com