如何理解一串逻辑比较?
How does one make sense of a string of logical comparisons?
例如,如何理解 (true && false || (53 < 24));
?
我知道它被评估为 false 我只是好奇我将如何逐步解决这个问题。
谢谢!
你检查一个方便的Java Operator Precedence table,这表明&&
比||
具有更高的优先级,这意味着表达式等同于:
((true && false) || (53 < 24))
然后你开始评价:
((true && false) || (53 < 24))
↓
( false || (53 < 24))
↓
( false || false )
↓
false
例如,如何理解 (true && false || (53 < 24));
?
我知道它被评估为 false 我只是好奇我将如何逐步解决这个问题。
谢谢!
你检查一个方便的Java Operator Precedence table,这表明&&
比||
具有更高的优先级,这意味着表达式等同于:
((true && false) || (53 < 24))
然后你开始评价:
((true && false) || (53 < 24))
↓
( false || (53 < 24))
↓
( false || false )
↓
false