# 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*.

## Operators

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.