When the modulus of a negative number is calculated, the result will either be negative or zero. Thus, comparing the modulus of a variable for equality with a positive number (or a negative one) could result in unexpected results.
public boolean isOdd(int x) {
return x % 2 == 1; // Noncompliant; if x is an odd negative, x % 2 == -1
}
public boolean isOdd(int x) {
return x % 2 != 0;
}