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