Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java布尔值不相等但相等?_Java_Boolean - Fatal编程技术网

Java布尔值不相等但相等?

Java布尔值不相等但相等?,java,boolean,Java,Boolean,我在一个名为udacity的网站上学习java,刚被问到的一个问题是“done是一个布尔值。什么是!!done的值?”我不太明白,但经过一段时间的猜测,我得到了“done”的正确答案。有人能给我解释一下吗?不是!应该是“不平等”吗?value1怎么可能等于value2,而value2本应“不等于”value1?运算符对布尔值求反。这意味着: !!x == x !!true = true !!false = false 操作员对布尔值求反。这意味着: !!x == x !!true = tr

我在一个名为udacity的网站上学习java,刚被问到的一个问题是“done是一个布尔值。什么是!!done的值?”我不太明白,但经过一段时间的猜测,我得到了“done”的正确答案。有人能给我解释一下吗?不是!应该是“不平等”吗?value1怎么可能等于value2,而value2本应“不等于”value1?

运算符
对布尔值求反。这意味着:

!!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.我投票将这个问题作为离题来结束,因为它缺乏对主题的最低限度的理解,也没有显示出任何研究的努力哦,我真的很想看到这样一种勇敢的意志,去回答那些严肃的问题,这些问题描述了一个比使用操作符更复杂的问题;)是的,如果我的问题冒犯了任何人,我很抱歉,但只是因为网站的论坛关闭了,所以我才来这里。我现在意识到这是一个简单的错误,因为我没有注意到有两个感叹号而不是一个。谢谢你的回答。正如我上面提到的,我想我只是没有给予足够的关注,没有想到有两个感叹号而不是一个。谢谢你们的帮助:)谢谢你们的回答。正如我上面提到的,我想我只是没有给予足够的关注,没有想到有两个感叹号而不是一个。谢谢你们的帮助:)