为什么c=!如果c是布尔假,则c为真?

我不明白为什么这段代码返回 true:

boolean c = false;
 
c =! c;

不是将 false boolean 与 false boolean 进行比较吗?或者它可能将“NOT false”分配给 c,这是真的?

回答

c =! c(作为等效项更具可读性c = !c)正在分配cto的否定c。此赋值的值是 的新值c,可能是trueifc原来的值false

如果你想比较c!c,它应该是c != c


回答

c =! c; 表示“将其当前值的补数分配给 c”。

如果其当前值为假,则其值变为真。

也许你的意思是c != c,无论c是真还是假,这都是假的。

但是,请注意,您不能写,c != c;因为这不是有效的语句:您需要以某种方式使用表达式,例如

System.out.println(c != c);


以上是为什么c=!如果c是布尔假,则c为真?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>