Главная chevron_right Структура chevron_right Логические операторы chevron_right || (logical OR)

|| (logical OR)

Оператор || возвращает true, если хотя бы одно из двух условий истинно — удобно для проверки нескольких состояний сразу.

Полная статья

Описание

Логический OR (||) — оператор, который проверяет два условия сразу и возвращает true, если хотя бы одно из них true. Если оба условия ложны, результат тоже будет ложным.

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

Пример кода

Чаще всего || используется внутри условия оператора if.

    if (x > 0 || y > 0) { // если x или y больше нуля
      // операторы
    }

Где применяется

  • Проверка нажатия любой из нескольких кнопок.
  • Контроль выхода значения за границы диапазона: слишком мало или слишком много.
  • Реакция на сигнал от любого из нескольких датчиков.
  • Объединение нескольких условий аварийного останова в одно.

Практические замечания

  • || работает с логическими значениями (true/false), а не с битами числа. Не путайте его с побитовым оператором | (одиночная вертикальная черта): | применяется к отдельным битам целых чисел, тогда как || оценивает всё выражение целиком как истинное или ложное.
  • || использует ленивые вычисления: если первое условие уже true, второе не вычисляется вообще. Это важно, если второе выражение содержит вызов функции с побочным эффектом — он может не выполниться.
  • Любое ненулевое число в Arduino считается true, поэтому || корректно работает не только с явными булевыми переменными, но и с целыми числами.
  • При сложных условиях используйте скобки, чтобы явно задать порядок вычислений и избежать неожиданного поведения.

Полезные материалы