gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:12:03 26 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/58438405/

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