我在看一些模拟的OCJP问题。我发现了一个非常令人费解的语法。这就是它:
class OddStuff {
public static void main(String[] args) {
boolean b = false;
System.out.println((b != b));// False
System.out.println((b =! b));// True
}
}
为什么!=
和=!
之间的输出会发生变化
发布于 2012-01-12 04:07:08
b != b
的意思是! (b == b)
:与b == b
相反。
b =! b
实际上是b = !b
,一个赋值。它切换b
的值。赋值的值是表达式的值,所以它的值是!b
(以及更改了b
的值)。
发布于 2012-01-12 04:06:02
b=!b
是一种赋值。它将b
赋值给!b
,表达式的计算结果为true
。
发布于 2012-01-12 04:06:16
B =!B
你在做一个赋值,你说B的值应该是!B。
B != b
你在问b和b是否不同
https://stackoverflow.com/questions/8825840
复制相似问题