if
Описание
Оператор if проверяет условие и выполняет следующую за ним инструкцию или набор инструкций, если условие истинно.
Синтаксис
if (condition) {
//statement(s)
}
Параметры
condition: логическое выражение (то есть может быть равно true или false).
Пример кода
После оператора if скобки могут быть опущены. Если они опущены, единственной условной инструкцией становится следующая строка (определяемая точкой с запятой).
if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120)
digitalWrite(LEDpin, HIGH);
if (x > 120) {digitalWrite(LEDpin, HIGH);}
if (x > 120) {
digitalWrite(LEDpin1, HIGH);
digitalWrite(LEDpin2, HIGH);
}
// все варианты корректны
Примечания и предупреждения
Инструкции, проверяемые внутри круглых скобок, требуют использования одного или нескольких операторов, показанных ниже.
Операторы сравнения
x == y (x равно y)
x != y (x не равно y)
x < y (x меньше y)
x > y (x больше y)
x <= y (x меньше или равно y)
x >= y (x больше или равно y)
Предупреждение
Остерегайтесь случайного использования одиночного знака равенства (например, if (x = 10)). Одиночный знак равенства — это оператор присваивания, и он устанавливает x в 10 (помещает значение 10 в переменную x). Вместо этого используйте двойной знак равенства (например, if (x == 10)), который является оператором сравнения и проверяет, равно ли x 10 или нет. Последняя инструкция истинна только тогда, когда x равно 10, а первая инструкция всегда будет истинной.
Это связано с тем, что C++ интерпретирует выражение if (x=10) следующим образом: значение 10 присваивается x (помните, что одиночный знак равенства — это оператор присваивания), поэтому x теперь содержит 10. Затем условие if проверяет 10, что всегда даёт TRUE, поскольку любое ненулевое число даёт TRUE. Следовательно, if (x = 10) всегда будет давать TRUE, что не является желаемым результатом при использовании оператора if. Кроме того, переменная x будет установлена в 10, что также не является желаемым действием.