Java 下面的布尔表达式将被计算为什么值!(错)及&;(5>;4)
下面的布尔表达式将被计算为什么值Java 下面的布尔表达式将被计算为什么值!(错)及&;(5>;4),java,conditional-operator,Java,Conditional Operator,下面的布尔表达式将被计算为什么值 !(false) && (5 > 4) 我会认为它的评价是错误的,有人能解释发生了什么使它成为真的吗 我会认为它的评价是错误的,有人能解释发生了什么使它成为真的吗 &&计算其左侧操作数,如果该值为false,则结果为false;否则,它计算其右操作数并将该结果作为其结果。从 !(false) && (5 > 4) !(false)为真,因此: true && (5 > 4) 由于true不是
!(false) && (5 > 4)
我会认为它的评价是错误的,有人能解释发生了什么使它成为真的吗
我会认为它的评价是错误的,有人能解释发生了什么使它成为真的吗
&&
计算其左侧操作数,如果该值为false,则结果为false
;否则,它计算其右操作数并将该结果作为其结果。从
!(false) && (5 > 4)
!(false)
为真
,因此:
true && (5 > 4)
由于true
不是false,和&
计算右侧操作数:
(5 > 4)
(5>4)
也是真的
,因此&
结果是真的
!(false) && (5 > 4)
!(false) = true //because of !(not) operator
(5 > 4) = true
so
true && true = true
您正在使用&&
运算符。这意味着你的第二个条件是
考虑过
代码>表示否定。否定false
将给出true
5>4
始终为true
!(false) && (5 > 4)
!(false) = true //because of !(not) operator
(5 > 4) = true
so
true && true = true
因此,这里true&&true
给出true
!(false)
为true,而(5>4)
也为true
。您可以运行程序来查找。不清楚您为什么不能这样做。(对于前面JavaScript对这个问题的回答,我深表歉意。)