JavaRush /Курсы /Модуль 1: Web Core /Условный оператор: if, else и блоки кода

Условный оператор: if, else и блоки кода

Модуль 1: Web Core
20 уровень , 5 лекция
Открыта

1. Синтаксис и базовая структура if

Представьте себе кофемашину, которая всегда наливает кофе, независимо от того, положили вы стакан или нет. Не очень, правда? Аналогично, большинство программ должны анализировать ситуацию и принимать решения: если пользователь ввёл правильный пароль — впустить, если нет — отказать; если возраст больше 18 — показать фильм, если меньше — отправить спать.

В программировании для таких "развилок" используют условные операторы. В JavaScript (и во многих других языках) для этого служит команда if — если перевести на русский, то это просто "если".

Минимальный вариант условного оператора выглядит так:

if (условие) {
    // блок кода, который выполнится, если условие истинно
}
  • if — ключевое слово, которое говорит: "А ну-ка, проверь!"
  • (условие) — выражение, которое возвращает true или false (истина или ложь).
  • { ... } — блок кода, который выполнится, если условие истинно.

Пример 1: Проверяем, что число положительное

let number = 5;
if (number > 0) {
  console.log("Число положительное!");
}

Если number больше нуля, программа напечатает: "Число положительное!"

Что происходит, если условие ложно?
Если условие не выполняется (number <= 0), то код внутри фигурных скобок просто пропускается.

2. else — иначе!

Иногда нужно выполнить не только действие "если да", но и "если нет". Для этого есть команда else (иначе):

if (условие) {
    // если условие истинно
} else {
    // если условие ложно
}

Пример 2: Проверяем, положительное ли число

let number = -3;
if (number > 0) {
  console.log("Число положительное!");
} else {
  console.log("Число неположительное!");
}

В этом примере, если number больше нуля, программа напечатает "Число положительное!", иначе — "Число неположительное!".

3. Блок кода: зачем нужны фигурные скобки?

В JavaScript блок кода — это всё, что находится внутри { ... }. Внутри блока может быть одна или несколько команд.

Важно: Если после if или else вы пишете только одну команду, фигурные скобки можно опустить:

if (number > 0)
  console.log("Плюсик!");
else
  console.log("Минусик!");

Но опытные программисты советуют ВСЕГДА ставить скобки, даже если внутри только одна команда. Почему? Потому что если вы потом добавите ещё одну строку, а скобки забыли — получите ошибку, которую не всегда просто заметить.

Пример плохого кода:

let number = 10;
if (number > 0)
  console.log("Плюсик!");
  console.log("Это всегда выведется!"); // Ой!

В этом примере вторая строка всегда выполнится, независимо от условия. Браузер увидит ваш код так:

let number = 10;
if (number > 0) {
  console.log("Плюсик!");    
}
  console.log("Это всегда выведется!"); // Ой!

Чтобы не попадать в такие ловушки, используйте скобки:

if (number > 0) {
    console.log("Плюсик!");
    console.log("Это только если число больше нуля!");
}

4. Как работает условие (выражение внутри if)

Внутри круглых скобок после if пишется выражение, которое возвращает значение типа boolean — то есть либо true (истина), либо false (ложь).

Примеры условий:

  • a > b — a больше b?
  • x == 0 — x равен нулю?
  • age >= 18 — возраст не меньше 18?

Пример 3: Проверяем, чётное ли число

let number = 8;
if (number % 2 == 0) {
    console.log("Число чётное!");
} else {
    console.log("Число нечётное!");
}

5. if без else

Иногда нам нужно выполнить действие только если условие выполняется, а если нет — просто ничего не делать. Для этого достаточно одного if:

if (баланс > 0) {
    console.log("Вы можете снять деньги!");
}
// Если баланс <= 0, ничего не произойдет

Можно вкладывать один if внутрь другого — так строятся более сложные "развилки". Но подробнее о вложенных и цепочках условий мы поговорим в следующей лекции.

6. Практические примеры

Давайте попробуем сделать простую программу, которая приветствует пользователя по возрасту. В JavaScript для получения ввода от пользователя в браузере часто используют prompt(), а в среде Node.js (для серверных приложений или скриптов) нужны дополнительные модули. Для простоты будем использовать prompt для симуляции ввода.

const age = prompt("Введите ваш возраст:");

if (age >= 18) {
  console.log("Добро пожаловать во взрослую жизнь!");
} else {
  console.log("Вам ещё рано! Учитесь и отдыхайте :)");
}

Как работает:

  • Программа спрашивает возраст.
  • Если возраст 18 или больше — поздравляет.
  • Если меньше — даёт совет.

Пример 2: Проверка пароля (очень простая)

const password = prompt("Введите пароль:");

if (password === "qwerty123") { // Используем строгое сравнение ===
  console.log("Доступ разрешён!");
} else {
  console.log("Пароль неверный!");
}

7. Типичные ошибки при работе с if/else

Ошибка №1: Пропущены фигурные скобки
Очень часто новички забывают скобки, особенно если условие одно. Потом добавляют ещё одну строку — и программа ведёт себя не так, как ожидается. Всегда ставьте { } даже для одной команды!

Ошибка №2: Ошибки в условиях
Иногда путают операторы сравнения: вместо == пишут =, или забывают, что = — это присваивание значения, а == — сравнение.

if (a = 5) // Ошибка! Нужно a == 5

Ошибка №3: Деление на ноль внутри условия
Если вы пишете условие типа if (x / y > 2), а y может быть нулём, то получите ошибку выполнения. Всегда проверяйте делитель!

Ошибка №4: Всегда выполняется только одна ветка
Иногда студенты думают, что можно написать два отдельных if, и оба сработают как else if. Но если условия пересекаются — оба блока могут выполниться. Если нужен выбор "или-или", используйте конструкцию if ... else.

1
Задача
Модуль 1: Web Core, 20 уровень, 5 лекция
Недоступна
Класс Product
Класс Product
1
Задача
Модуль 1: Web Core, 20 уровень, 5 лекция
Недоступна
Класс Library
Класс Library
1
Опрос
Знакомство с классами, 20 уровень, 5 лекция
Недоступен
Знакомство с классами
Знакомство с классами
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ