Перейти к основному содержимому

Логические и булевы операции

Логическое выражение — это выражение, результатом вычисления которого является значение типа Булево. В логических выражениях могут использоваться следующие операции:

Сравнение на равенство

операнд-1 == операнд-2

Применима к значениям любых типов.

Если значение операнд-1 равно значению операнд-2, то результатом операции будет значение Истина

Сравнение на равенство

операнд-1 == операнд-2

Применима к значениям любых типов.

Если значение операнд-1 равно значению операнд-2, то результатом операции будет значение Истина.

Сравнение на неравенство

операнд-1 != операнд-2

Применима к значениям любых типов.

Если значение операнд-1 не равно значению операнд-2, то результатом операции будет значение Истина.

Сравнение на строгое больше

операнд-1 > операнд-2

Применима только к значениям одинаковых типов, которые (типы) имеют базовый тип Сравнимое.

Если значение операнд-1 строго больше операнд-2, то результатом операции будет значение Истина.

Сравнение на нестрогое больше

операнд-1 >= операнд-2

Применима только к значениям одинаковых типов, которые (типы) имеют базовый тип Сравнимое.

Если значение операнд-1 больше или равно операнд-2, то результатом операции будет значение Истина.

Сравнение на строгое меньше

операнд-1 < операнд-2

Применима только к значениям одинаковых типов, которые (типы) имеют базовый тип Сравнимое.

Если значение операнд-1 строго меньше операнд-2, то результатом операции будет значение Истина.

Сравнение на нестрогое больше

операнд-1 <= операнд-2

Применима только к значениям одинаковых типов, которые (типы) имеют базовый тип Сравнимое.

Если значение операнд-1 меньше или равно операнд-2, то результатом операции будет значение Истина.

Булевы операции

Результаты логических выражений и значения типа Булево могут участвовать в булевых операциях.

Логическое «И»

выражение-1 и выражение-2

Возвращает значение Истина, когда результат вычисления каждого выражения равен Истина.

Логическое «ИЛИ»

выражение-1 или выражение-2

Возвращает значение Истина, когда результат вычисления хотя бы одного выражения равен Истина.

Логическое «НЕ»

не выражение

Возвращает значение Истина в том случае, если результат вычисления выражение равен Ложь.

Унарная операция не представляет собой логическое отрицание, так что не Истина равно Ложь (и наоборот).

Выражение проверки на равенство (или не равенство) значению типа Булево можно записать полностью:

если А == Истина

Однако, допустима и сокращенная запись:

если А

Аналогичным образом можно записать проверки на равенство значению Ложь:

если не А
примечание

При использовании сокращенного написания логических выражений, всегда следует помнить о том, насколько понятно будет написанное вами выражение другому разработчику или вам же через какое-то время. Для гарантированного порядка вычисления частей выражения — расставляйте скобки.

При вычислении логических выражений используется следующий приоритет (в порядке уменьшения приоритета):

  1. Выражения в круглых скобках.
  2. Операция не.
  3. Операция и.
  4. Операция или.

При вычислении логических выражений применяется сокращенное вычисление: вычисление логического выражения прекращается в том случае, если результат полностью ясен и не может быть изменен в результате вычисления оставшейся части логического выражения.