13.1: Relational Operators
- Page ID
- 15235
Relational operators are used to check conditions like whether two values are equal, or whether one is greater than the other. The following expressions show how they are used:
x == y // x is equal to y x != y // x is not equal to y x > y // x is greater than y x < y // x is less than y x >= y // x is greater than or equal to y x <= y // x is less than or equal to y
The result of a relational operator is one of two special values, true
or false
. These values belong to the data type boolean
; in fact, they are the only boolean values.
You are probably familiar with these operations, but notice that the Java operators are different from the mathematical symbols like =, ≠, and ≤. A common error is to use a single =
instead of a double ==
. Remember that =
is the assignment operator, and ==
is a comparison operator. Also, there is no such thing as the =<
or =>
operators.
The two sides of a relational operator have to be compatible. For example, the expression 5 < "6"
is invalid because 5
is an int
and "6"
is a String
. When comparing values of different numeric types, Java applies the same conversion rules we saw previously with the assignment operator. For example, when evaluating the expression 5 < 6.0
, Java automatically converts the 5
to 5.0
.
Most relational operators don’t work with strings. But confusingly, ==
and !=
do work with strings – they just don’t do what you expect. We’ll explain what they do later; in the meantime, don’t use them with strings. Instead, you should use the equals
method:
String fruit1 = "Apple"; String fruit2 = "Orange"; System.out.println(fruit1.equals(fruit2));
The result of fruit1.equals(fruit2)
is the boolean value false
.