断舍离,永远去做你余生最重要的那件事

首页技术杂谈正文

为什么说a == b == 3是错的?

朱绪2016-10-243757Java

因为a == b == 3这三个东西中间夹的两个东西一样,所以是属于连续的关系运算。

那么就是从左向右计算,a == b 的结果要么是true要么是false,怎么可能跟3比较呢?

所以,很明显a == b == 3这个式子是错的。

错

差点看成了a = b = 3,引以为戒!

顺便再聊一个例子,a == b > false这个式子正确吗?

答案是:不正确!

因为这3个东西夹的两个东西分别是==和>,而==和>都是关系运算符,但是它俩的优先级是不一样的,>的优先级要比==大,所以a == b > false这个式子是先算b > false,这明显不能比较大小。

假设b是整数或是浮点数,是不能和false比较大小的。

假设b是true,同样也不可以和false比较大小,true并不意味着比false大。

true和false是表示状态的,而不是大小。