Логические и булевы операции
Логическое выражение — это выражение, результатом вычисления которого является значение типа Булево
. В логических выражениях могут использоваться следующие операции:
Сравнение на равенство
операнд-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
Возвращает значение Истина
, когда результат вычисления хотя бы одного выражения равен Истина
.
Логическое «НЕ»
не выражение
Возвращает значение Истина
в том случае, если результат вычисления выражение равен Ложь
.
Унарная операция не
представляет собой логическое отрицание, так что не
Истина
равно Ложь
(и наоборот).
Выражение проверки на равенство (или не равенство) значению типа Булево
можно записать полностью:
если А == Истина
Однако, допустима и сокращенная запись:
если А
Аналогичным образом можно записать проверки на равенство значению Ложь
:
если не А
При использовании сокращенного написания логических выражений, всегда следует помнить о том, насколько понятно будет написанное вами выражение другому разработчику или вам же через какое-то время. Для гарантированного порядка вычисления частей выражения — расставляйте скобки.
При вычислении логических выражений используется следующий приоритет (в порядке уменьшения приоритета):
- Выражения в круглых скобках.
- Операция
не
. - Операция
и
. - Операция
или
.
При вычислении логических выражений применяется сокращенное вычисление: вычисление логического выражения прекращается в том случае, если результат полностью ясен и не может быть изменен в результате вычисления оставшейся части логического выражения.