Операции сравнения определяют отношение одного операнда с другим. В частности, они определяют равенство и порядок следования. Операции сравнения перечислены в табл. 4.4.

Таблица 4.4. Операции сравнения в Java

Операция Описание
= Равно
!= Не равно
> Больше
< Меньше
>= Больше или равно
<= Меньше или равно

Результат выполнения этих операций — значение типа boolean. Наиболее часто операции сравнения используют в выражениях, которые управляют оператором if и различными операторами цикла.

В Java можно сравнивать значения любых типов, в том числе целые значения, значения с плавающей точкой, символы и булевские значения, используя проверку равенства == и проверку неравенства ! =. Обратите внимание, что Java равенство обозначают двумя знаками "равно", а не одним. (Одиночный знак "равно" — символ операции присваивания.) Сравнение с помощью операций упорядочения применимо только к числовым типам. То есть сравнение для определения того, какой из операндов больше или меньше другого, можно выполнять только для целочисленных операндов, операндов с плавающей точкой или символьных операндов.

Как уже было отмечено, результат выполнения операции сравнения представляет собой значение типа boolean. Например, следующий фрагмент кода вполне допустим:

int а = 4;
int b = 1;
boolean с = а < b;

В данном случае результат выполнения операции а < b (который равен false) сохраняется в переменной с. Те читатели, которые знакомы с языками C/C++, должны обратить внимание на следующее. В программах на C/C++ следующие типы операторов встречаются очень часто:

int done;
// ...
if(!done)// Допустимо в C/C++
if(done) // но нё в Java.

В Java-программе эти операторы должны быть записаны следующим образом:

if(done == 0) ...
if(done != 0) // Это стиль Java, ...

Это обусловлено тем, что в Java определение значений "истинно" и "ложно" отличается от их определений в языках C/C++. В C/C++ истинным считается любое ненулевое значение, а ложным — ноль. В Java значения true (истинно) и false (ложно) — нечисловые значения, которые никак не сопоставимы с нулевым или ненулевым значением. Поэтому, чтобы сравнить значение с нулевым или ненулевым значением, необходимо явно использовать одну или несколько операций сравнения.