else

if...else позволяет выстраивать цепочку условий: программа идёт по веткам сверху вниз и выполняет первую подходящую, а финальный else задаёт поведение по умолчанию.

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

Описание

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

Цепочка проверок работает последовательно: программа идёт по ветвям сверху вниз и останавливается на первой, условие которой выполнилось. Код этой ветви запускается, остальные пропускаются. Если ни одно из условий не совпало, выполняется финальный блок else — он задаёт поведение по умолчанию. Завершающий else не обязателен: конструкция работает и без него.

Важно понимать: else if можно использовать как вместе с финальным else, так и без него, и наоборот. Количество веток else if не ограничено — их можно добавлять столько, сколько нужно для задачи.

Синтаксис

    if (condition1) {
      // выполнить действие A
    }
    else if (condition2) {
      // выполнить действие B
    }
    else {
      // выполнить действие C
    }

Пример кода

Ниже приведена выдержка из кода системы датчиков температуры.

    if (temperature >= 70) {
      // Опасность! Выключить систему.
    }
    else if (temperature >= 60) { // 60 <= temperature < 70, температура в предупредительном диапазоне
      // Внимание! Требуется вмешательство пользователя.
    }
    else { // temperature < 60, температура в нормальном диапазоне
      // Норма! Продолжать обычную работу.
    }

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

  • Управление устройствами по диапазонам значений — например, включать разные режимы вентилятора в зависимости от показаний температурного датчика.
  • Обработка команд — разбор входящих символов из Serial и запуск соответствующего действия для каждого.
  • Светофор или индикация состояний — переключение светодиодов или дисплея в зависимости от текущего режима работы устройства.
  • Меню на кнопках — разные реакции на нажатие разных кнопок в одном блоке опроса.

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

  • Условия проверяются строго по порядку. Если первое совпало — остальные не проверяются. Поэтому ставьте самые вероятные или приоритетные условия ближе к началу цепочки.
  • Финальный else без условия — хорошая страховка: он поймает любой случай, который вы не предусмотрели, и не даст программе «замолчать» при неожиданных данных.
  • Не путайте = (присваивание) и == (сравнение) внутри условия. Запись if (x = 5) не сравнивает, а присваивает — и это частая ошибка новичков.
  • Если веток становится очень много и все они сравнивают одну переменную с конкретными значениями, рассмотрите switch...case — он читается чище.
  • Фигурные скобки {} не обязательны, если в ветке одна строка, но лучше всегда их ставить: это защищает от трудноуловимых ошибок при редактировании кода.

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