Отдельный набор операций представляет условные выражения. Такие операции возвращают логическое значение, то есть значение типа bool: true, если выражение истинно, и false, если выражение ложно. К подобным операциям относятся операции сравнения и логические операции.
В операциях сравнения сравниваются два операнда и возвращается значение типа bool - true, если выражение верно, и false, если выражение неверно.
== Сравнивает два операнда на равенство. Если они равны, то операция возвращает true, если не равны, то возвращается false
int a = 10;int b = 4; bool c = a == b; // false
!= Сравнивает два операнда и возвращает true, если операнды не равны, и false, если они равны.
int a = 10;int b = 4; bool c = a != b; // truebool d = a!=10; // false
< Операция "меньше чем". Возвращает true, если первый операнд меньше второго, и false, если первый операнд больше второго:
int a = 10;int b = 4; bool c = a < b; // false
> Операция "больше чем". Сравнивает два операнда и возвращает true, если первый операнд больше второго, иначе возвращает false:
int a = 10;int b = 4; bool c = a > b; // truebool d = a > 25; // false
<= Операция "меньше или равно". Сравнивает два операнда и возвращает true, если первый операнд меньше или равен второму. Иначе возвращает false.
int a = 10;int b = 4;bool c = a <= b; // falsebool d = a <= 25; // true
>= Операция "больше или равно". Сравнивает два операнда и возвращает true, если первый операнд больше или равен второму, иначе возвращается false:
int a = 10;int b = 4;bool c = a >= b; // truebool d = a >= 25; // false
Операции <, > <=, >= имеют больший приоритет, чем == и !=.
Логические операции
Также определены логические операторы, которые также возвращают значение типа bool. В качестве операндов они принимают значения типа bool. Как правило, применяются к отношениям и объединяют несколько операций сравнения.
| Операция логического сложения или логическое ИЛИ. Возвращает true, если хотя бы один из операндов возвращает true.
bool x1 = (5 > 6) | (4 < 6); // 5 > 6 - false, 4 < 6 - true, поэтому возвращается truebool x2 = (5 > 6) | (4 > 6); // 5 > 6 - false, 4 > 6 - false, поэтому возвращается false
& Операция логического умножения или логическое И. Возвращает true, если оба операнда одновременно равны true.
bool x1 = (5 > 6) & (4 < 6); // 5 > 6 - false, 4 < 6 - true, поэтому возвращается falsebool x2 = (5 < 6) & (4 < 6); // 5 < 6 - true, 4 < 6 - true, поэтому возвращается true
|| Операция логического сложения. Возвращает true, если хотя бы один из операндов возвращает true.
bool x1 = (5 > 6) || (4 < 6); // 5 > 6 - false, 4 < 6 - true, поэтому возвращается truebool x2 = (5 > 6) || (4 > 6); // 5 > 6 - false, 4 > 6 - false, поэтому возвращается false
&& Операция логического умножения. Возвращает true, если оба операнда одновременно равны true.
bool x1 = (5 > 6) && (4 < 6); // 5 > 6 - false, 4 < 6 - true, поэтому возвращается falsebool x2 = (5 < 6) && (4 < 6); // 5 < 6 - true, 4 < 6 - true, поэтому возвращается true
Примечание
при использовании оператора || или &&, если первая операция будет false, то проверка второй операции не выполняется
при использовании оператора | или &, если первая операция будет false, то вторая операция тоже выполняется
! Операция логического отрицания. Производится над одним операндом и возвращает true, если операнд равен false. Если операнд равен true, то операция возвращает false:
bool a = true;bool b = !a; // false
^ Операция исключающего ИЛИ. Возвращает true, если либо первый, либо второй операнд (но не одновременно) равны true, иначе возвращает false
bool x5 = (5 > 6) ^ (4 < 6); // 5 > 6 - false, 4 < 6 - true, поэтому возвращается truebool x6 = (50 > 6) ^ (4 / 2 < 3); // 50 > 6 - true, 4/2 < 3 - true, поэтому возвращается false