Освой программирование играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Операторы сравнения

Операторы сравнения выдают логический результат (boolean). Если условие проверки истинно, оператор выдает true, а если ложно - false. К операторам сравнения относятся < (меньше чем), > (больше чем), <= (меньше чем или равно), >= (больше чем или равно), == (равно), != (не равно). Операторы "Равно" и "не равно" можно использовать для всех примитивных типов данных, однако остальные сравнения нельзя использовать к типу boolean.

ОператорПример использованияВозвращает значение "истинно", если...
>a > bа больше b
>=a >= bа больше или равно b
<a < bа меньше b
<=a <= bа меньше или равно b
==a == bа равно b
!=a != bа не равно b
&&a && bа и b истинны, b оценивается условно (если а ложно, b не вычисляется)
||a || bа или b истинно, b оценивается условно (если а истинно, b не вычисляется)
!!aа ложно
&a & bа и b истинны, b оценивается в любом случае
|a | bа или b истинно, b оценивается в любом случае
^a ^ bа и b различны

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

Обратите внимание, что равенство обозначается двумя знаками равно (==), одиночный знак равно (=) - это оператор присваивания. Типичная ошибка начинающих программистов.

Корректный вариант примера:


int x = 5;
int y = 7;
boolean z = a < b; // результат сохраняется в переменной типа boolean

Примеры для оператора if для Java (В C++ используется другой синтаксис!):


int cat_age;
if(cat_age == 4) // нельзя if(cat_age) - нет сравнения
if(cat_age != 9) // нельзя if(!cat_age) - нет сравнения

Помните, что в Java значения true и false не являются числовыми значениями, как в C++, поэтому, чтобы сравнить значение с другим значением, необходимо явно использовать операторы сравнения.

Реклама