include::../description.adoc[] == Noncompliant Code Example ---- if ( a == a ) { // always true doZ(); } if ( a != a ) { // always false doY(); } if ( a == b && a == b ) { // if the first one is true, the second one is too doX(); } if ( a == b || a == b ) { // if the first one is true, the second one is too doW(); } int j = 5 / 5; //always 1 int k = 5 - 5; //always 0 c.equals(c); //always true ---- == Exceptions * This rule ignores ``++*++``, ``+``, and ``++=++``. * The specific case of testing a floating point value against itself is a valid test for ``++NaN++`` and is therefore ignored. * Similarly, left-shifting 1 onto 1 is common in the construction of bit masks, and is ignored. ---- float f; if(f != f) { //test for NaN value System.out.println("f is NaN"); } int i = 1 << 1; // Compliant int j = a << a; // Noncompliant ---- include::../see.adoc[] ifdef::rspecator-view[] == Comments And Links (visible only on this page) include::comments-and-links.adoc[] endif::rspecator-view[]