Java布尔值不相等但相等?
我在一个名为udacity的网站上学习java,刚被问到的一个问题是“done是一个布尔值。什么是!!done的值?”我不太明白,但经过一段时间的猜测,我得到了“done”的正确答案。有人能给我解释一下吗?不是!应该是“不平等”吗?value1怎么可能等于value2,而value2本应“不等于”value1?运算符Java布尔值不相等但相等?,java,boolean,Java,Boolean,我在一个名为udacity的网站上学习java,刚被问到的一个问题是“done是一个布尔值。什么是!!done的值?”我不太明白,但经过一段时间的猜测,我得到了“done”的正确答案。有人能给我解释一下吗?不是!应该是“不平等”吗?value1怎么可能等于value2,而value2本应“不等于”value1?运算符对布尔值求反。这意味着: !!x == x !!true = true !!false = false 操作员对布尔值求反。这意味着: !!x == x !!true = tr
代码>对布尔值求反。这意味着:
!!x == x
!!true = true
!!false = false
操作员代码>对布尔值求反。这意味着:
!!x == x
!!true = true
!!false = false
如果你说,这可以追溯到布尔代数
true = true
false = false
然后
这意味着
not (not true) = not false = true
not (not false) = not true = false
也就是说!!完成
你可以把“不”写成“!”
也就是说
!!true = !false = true
!!false = !true = false
因此,如果完成是一个布尔值:真或假,当它放在!!完成它将永远完成。例如:
boolean done = true;
!!完成
这将始终是它的初始值,它是真的
这可以回到布尔代数,如果你说
true = true
false = false
然后
这意味着
not (not true) = not false = true
not (not false) = not true = false
也就是说!!完成
你可以把“不”写成“!”
也就是说
!!true = !false = true
!!false = !true = false
因此,如果完成是一个布尔值:真或假,当它放在!!完成它将永远完成。例如:
boolean done = true;
!!完成
这将始终是它的初始值,即真值
!是java中的否定运算符,所以!!完成,不是完成,与完成是一样的。这只是一个双重否定!是java中的否定运算符,所以!!完成,不是完成,与完成是一样的。它只是一个双负数,正如您所看到的,有两个感叹号,因此该值被切换两次。所以,假设完成是真的:!完成等于不正确,这是错误的!!done equals not true not false not false not true not true not false not true not false not true.我投票将这个问题作为离题来结束,因为它缺乏对主题的最低限度的理解,也没有显示出任何研究的努力哦,我真的很想看到这样一种勇敢的意志,去回答那些严肃的问题,这些问题描述了一个比使用操作符更复杂的问题;)是的,如果我的问题冒犯了任何人,我很抱歉,但只是因为网站的论坛关闭了,所以我才来这里。我现在意识到这是一个简单的错误,因为我没有注意到有两个感叹号而不是只有一个。正如你所看到的,有两个感叹号,所以值被切换了两次。所以,假设完成是真的:!完成等于不正确,这是错误的!!done equals not true not false not false not true not true not false not true not false not true.我投票将这个问题作为离题来结束,因为它缺乏对主题的最低限度的理解,也没有显示出任何研究的努力哦,我真的很想看到这样一种勇敢的意志,去回答那些严肃的问题,这些问题描述了一个比使用操作符更复杂的问题;)是的,如果我的问题冒犯了任何人,我很抱歉,但只是因为网站的论坛关闭了,所以我才来这里。我现在意识到这是一个简单的错误,因为我没有注意到有两个感叹号而不是一个。谢谢你的回答。正如我上面提到的,我想我只是没有给予足够的关注,没有想到有两个感叹号而不是一个。谢谢你们的帮助:)谢谢你们的回答。正如我上面提到的,我想我只是没有给予足够的关注,没有想到有两个感叹号而不是一个。谢谢你们的帮助:)