Rad*_*une -4 java boolean-logic boolean
我不明白为什么这段代码返回 true:
boolean c = false;
c =! c;
Run Code Online (Sandbox Code Playgroud)
不是将 false boolean 与 false boolean 进行比较吗?或者它可能将“NOT false”分配给 c,这是真的?
c =! c
(作为等效项更具可读性c = !c
)正在分配c
to的否定c
。此赋值的值是 的新值c
,可能是true
ifc
原来的值false
。
如果你想比较c
到!c
,它应该是c != c
。
c =! c;
表示“将其当前值的补数分配给 c”。
如果其当前值为假,则其值变为真。
也许你的意思是c != c
,无论c
是真还是假,这都是假的。
但是,请注意,您不能写,c != c;
因为这不是有效的语句:您需要以某种方式使用表达式,例如
System.out.println(c != c);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
71 次 |
最近记录: |