Оператор if()…else()

Конструкция if..else предоставляет больший контроль над процессом выполнения кода, чем базовый оператор if, позволяя осуществлять несколько проверок, объединенных вместе. Например, аналоговый вход может быть проверен и выполнено одно действие, если на входе меньше 500, или другое действие, если на входе 500 или больше. Код при этом может выглядеть так:


if (pinFiveInput < 500) {
  // действие A
} else {
  // действие B
}

Else позволяет делать отличную от указанной в if проверку, чтобы можно было осуществлять сразу несколько взаимоисключающих проверок. Каждая проверка позволяет переходить к следующему за ней оператору не раньше, чем получит логический результат ИСТИНА. Когда проверка с результатом ИСТИНА найдена, запускается блок операторов, и затем программа игнорирует все следующие строки в конструкции if..else. Если ни одна из проверок не получила результат ИСТИНА, по умолчанию выполняется блок операторов в else, если последний присутствует, и устанавливается действие по умолчанию.

Отметим, что конструкция else if может быть использована с или без заключительного else и наоборот. Допускается неограниченное число таких переходов else if.


if (pinFiveInput < 500){
  // выполнять действие A
}else if (pinFiveInput >= 1000){
  // выполнять действие B
}else{
  // выполнять действие  C
}

Другой способ создания переходов со взаимоисключающими проверками использует оператор switch case.

Ардуино