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 always use >= or <= instead of ==. For example, because the decimal number 0.1 can not be represented exactly in binary, (0.1 + 0.1 + 0.1) is not equal to 0.3!

For C/C++ Programmers

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.