|| (logical OR)
Оператор || возвращает true, если хотя бы одно из двух условий истинно — удобно для проверки нескольких состояний сразу.
Полная статья
Описание
Логический OR (||) — оператор, который проверяет два условия сразу и возвращает true, если хотя бы одно из них true. Если оба условия ложны, результат тоже будет ложным.
Это удобно, когда нужно выполнить какое-то действие при любом из нескольких возможных состояний: например, если нажата одна кнопка или другая, если значение вышло за нижнюю или верхнюю границу диапазона.
Пример кода
Чаще всего || используется внутри условия оператора if.
if (x > 0 || y > 0) { // если x или y больше нуля
// операторы
}
Где применяется
- Проверка нажатия любой из нескольких кнопок.
- Контроль выхода значения за границы диапазона: слишком мало или слишком много.
- Реакция на сигнал от любого из нескольких датчиков.
- Объединение нескольких условий аварийного останова в одно.
Практические замечания
||работает с логическими значениями (true/false), а не с битами числа. Не путайте его с побитовым оператором|(одиночная вертикальная черта):|применяется к отдельным битам целых чисел, тогда как||оценивает всё выражение целиком как истинное или ложное.||использует ленивые вычисления: если первое условие ужеtrue, второе не вычисляется вообще. Это важно, если второе выражение содержит вызов функции с побочным эффектом — он может не выполниться.- Любое ненулевое число в Arduino считается
true, поэтому||корректно работает не только с явными булевыми переменными, но и с целыми числами. - При сложных условиях используйте скобки, чтобы явно задать порядок вычислений и избежать неожиданного поведения.