三元运算符破坏OR条件

时间:2013-12-02 09:40:21

标签: java ternary

执行陈述

true || true ? false : true

返回false

不应该是真的,因为OR条件不会执行三元操作(右侧部分)吗?

2 个答案:

答案 0 :(得分:5)

true || true ? false : true

相同
(true || true) ? false : true

如果你的意思是:

true || (true ? false : true)

然后你必须自己添加括号。

答案 1 :(得分:3)

true || true ? false : true就像写作:

if(true || true) {
    return false;
}
return true;

由于true是...... true ,因此整个表达式为 true ,因此您返回false