Java Notes

Comparison Operators

All the standard comparison operators work for primitive values (int, double, char, ...). The == and != operators can be used to compare object references, but see Comparing Objects for how to compare object values.


The result of every comparison is boolean (true or false).

operator meaning
< less than
<=less than or equal to
== equal to
>=greater than or equal to
> greater than
!= not equal

Common Errors

0 < x < 100
Comparison operators can be used with two numbers. Although you can write 0 < x < 100 in mathematics, it is illegal in Java. You must write this as the and of two comparisons:
    0<x && x<100
= instead of ==
Using the assignment operator instead of equality will produce a compiler error, which is easy to fix.
== with floating-point
Because floating-point numbers are not exact, you should avoid == and != operators with double and float values. ==. See Floating point equality.

For C/C++ Programmers

Look same but are boolean. The Java comparison operators look exactly the same as the C/C++ comparison operators. The difference is that the result type is boolean. Because of this, the common C error of using = instead of == is almost completely eliminated. Java doesn't allow operator overloading however, something that C++ programmers might miss.

If statement requires boolean. C/C++ if statements allow numeric values for the condition, but Java allows only boolean.