Single equal in different situation : <p>I have this code...</p>

<pre><code>class Test {

    public static void main(String[] args) {
        Boolean mySuperBoolean = Boolean.FALSE;

        System.out.print("a");
        if (mySuperBoolean = Boolean.TRUE) {
            System.out.print("b");
        }

        System.out.print("c");
    }
}
</code></pre>

<p>I am new to Java, but I knew single equal (=) is used to assign. And double equals (==) is used to check if object is referred to the same location in memory. However, in this case I do not understand how the 'b' is being printed with a single equals, but I understand changing it to a double equals sign will not print it out</p>
