!=和=有什么区别! 在Java中?
我正在查看一些模拟的OCJP问题。 我遇到了一个令人困惑的语法。 这里是:
class OddStuff { public static void main(String[] args) { boolean b = false; System.out.println((b != b));// False System.out.println((b =! b));// True } }  为什么输出在!=和=!之间变化=!  ? 
问题就在于玩混淆空格。
  b != b是通常的!= (不等于)比较。 
另一方面:
 b =! b  b =! b更好地写成b = !b这被parsing为: 
 b = (!b) 
因此,这是两个运营商。
-  首先倒置b。
-  然后将其分配给b。
 赋值运算符返回分配的值。 因此, (b =! b)计算结果为真 – 这就是你打印的内容。 
  b != b意思是! (b == b)  ! (b == b) :与b == b相反。 
 b =! b  b =! b实际上是b = !b ,一个赋值。 这是切换b的价值。 赋值评估为expression式的值,所以这将评估为!b (同时已经改变了b的值)。 
  b=!b是一项任务。 它将b赋值给!b ,expression式求值为结果值,这是true 。 
b =! b
你正在做一个任务,你是说B应该有!B的价值。
b!= b
你在问B是不是和B不一样