1. Главная
  2. Документы
  3. Функции
  4. Условные выражения
  5. Операции сравнения

Операции сравнения

Отдельный набор операций представляет условные выражения. Такие операции возвращают логическое значение, то есть значение типа booltrue, если выражение истинно, и 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