title: What is the difference between != and =! in Java?
body: <p>I was looking over some mock <a href="https://en.wikipedia.org/wiki/Oracle_Certification_Program">OCJP</a> questions. I came across a really baffling syntax. Here it is:</p>
  
  <pre><code>class OddStuff {
      public static void main(String[] args) {
          boolean b = false;
          System.out.println((b != b));// False
          System.out.println((b =! b));// True
      }
  }
  </code></pre>
  
  <p>Why does the output change between <code>!=</code> and <code>=!</code>?</p>