Java布尔值不相等但相等?

时间:2015-04-25 22:57:55

标签: java boolean

我正在从一个名为udacity的网站上学习java,我刚刚被问到的一个问题是“完成是一个布尔值。!!完成的价值是多少?”我真的不明白,但经过一段时间的猜测,我得到了“完成”的正确答案。有人可以向我解释一下吗?不是!应该意味着“不平等”? value1如何等于value2,它应该与value1“不相等”?

3 个答案:

答案 0 :(得分:4)

这可以追溯到布尔代数,如果你说

true = true   
false = false

然后

not true = false
not false = true

这意味着

not (not true)  = not false = true 
not (not false) = not true  = false 

表示!! done = done

你可以写"不是" as"!"

!true  = false
!false = true

表示

!!true  = !false = true
!!false = !true = false

所以如果完成是一个布尔值:true或false,当它放入!!完成后它将永远完成。例如:

boolean done = true;

!!done这将始终是其初始值true

答案 1 :(得分:1)

!是java中的否定运算符,所以!!完成,未完成,与完成相同。这只是一个双重否定

答案 2 :(得分:0)

运算符!否定布尔值。这意味着:

!!x == x

!!true = true
!!false = false