gpt4 book ai didi

java - 为什么 Java 三进制 "evaluated"在 or 之前?

转载 作者:搜寻专家 更新时间:2023-11-01 00:59:29 25 4
gpt4 key购买 nike

我有以下 Java 代码片段,当我期望它返回 true 时返回了 false:

assertTrue(true || false ? false : false);

为了这篇文章,该语句已被简化(它最初使用字符串比较),我知道可以简化为不使用三元运算符,但基本上我想弄清楚为什么 Java 求值它像这样:

(true || false) ? false : false

而不是这个:

true || (false ? false : false)

我希望它评估 true 并退出。有谁知道为什么没有?

最佳答案

因为operator precedence .逻辑 AND 和逻辑 OR 的优先级高于三元运算符,因此它们先执行。

关于java - 为什么 Java 三进制 "evaluated"在 or 之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17549012/

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