Как работает условная конструкция if-else?

«Как работает условная конструкция if-else?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Конструкция if-else — это фундаментальная управляющая структура в императивных языках программирования, позволяющая выполнять различные блоки кода в зависимости от истинности логического условия.

Базовый синтаксис (на примере Python):

if condition:          # Если условие истинно (True)
    # выполняется этот блок кода
    do_something()
else:                  # Иначе (если условие ложно - False)
    # выполняется этот блок
    do_something_else()

Расширенные варианты:

  • Только if: Блок else не обязателен.
  • Цепочка elif (else if): Для проверки нескольких взаимоисключающих условий.
    
    score = 85

if score >= 90: grade = 'A' elif score >= 80: # Проверяется, только если первое условие False grade = 'B' elif score >= 70: grade = 'C' else: grade = 'F'


**Как это работает внутри:**
1.  Вычисляется выражение в условии `if`. Оно должно приводиться к булеву типу (`true`/`false`).
2.  Если результат `true`, управление передаётся в тело блока `if`. После его выполнения управление переходит к инструкции после всей конструкции `if-else`.
3.  Если результат `false`, управление переходит к блоку `else` (если он есть) или к следующей после конструкции инструкции.

**Ключевые моменты:**
*   **Вложенность**: `if-else` блоки можно вкладывать друг в друга для создания сложной логики.
*   **Область видимости**: Переменные, объявленные внутри блока, обычно локальны для этого блока.
*   **Тернарный оператор**: Краткая форма `if-else` для присваивания (в многих языках).
    ```javascript
    // JavaScript пример
    let status = (age >= 18) ? 'adult' : 'minor';
  • Стиль: Всегда используйте фигурные скобки {} в языках типа C/Java, даже для одного оператора, чтобы избежать ошибок.