Перейти к основному содержимому
Модуль 1 · Урок 2 из 22/14 в курсе~12 min
Уроки модуля (2/2)

Управление потоком

Чтобы сделать наши программы динамичными и способными принимать решения, мы используем структуры потока управления: условные операторы и циклы.

Условные обозначения: if, else if и else.

Инструкция if выполняет блок кода только в том случае, если определенное логическое условие истинно.

Java
int temperature = 25;

if (temperature > 30) {
    System.out.println("Fa molto caldo!");
} else if (temperature >= 20) {
    System.out.println("Il clima è piacevole.");
} else {
    System.out.println("Fa freddo.");
}

Логические операторы

Мы можем объединить несколько условий, используя логические операторы:

  • && (И): возвращает true, если оба условия истинны.
  • || (ИЛИ): возвращает true, если хотя бы одно из условий истинно.
  • ! (НЕ): инвертирует логическое значение условия.
Java
boolean hasLicense = true;
boolean hasCar = false;

if (hasLicense && hasCar) {
    System.out.println("Puoi guidare.");
}

Циклы: while и for.

Циклы позволяют нам многократно выполнять блок кода.

Цикл while

Выполняет код, пока указанное условие остается true.

Java
int count = 1;
while (count <= 3) {
    System.out.println("Conteggio: " + count);
    count++; // Increment count by 1
}

Цикл for

Идеально, когда мы заранее знаем количество итераций, которые нужно выполнить. Синтаксис требует инициализации, условия завершения и выражения приращения.

Java
for (int i = 0; i < 5; i++) {
    System.out.println("Iteration: " + i);
}

Расширенные условные операторы: switch

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

Java
int dayOfWeek = 3;
switch (dayOfWeek) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    default:
        System.out.println("Other day");
}

Управление циклом: break и continue

Мы можем изменить обычный ход цикла, используя два специальных оператора:

  • break: немедленно завершает выполнение самого внутреннего цикла, полностью выходя из него.
  • continue: пропускает остальную часть кода в текущей итерации и переходит непосредственно к оценке условия для следующей итерации (или выражения приращения в цикле for).
Java
for (int i = 1; i <= 5; i++) {
    if (i == 3) {
        continue; // Skips printing for the number 3
    }
    System.out.println(i);
}

Попробуйте сами

Упражнение#java.m1.l2.e1
Попыток: 0Загрузка…

Завершите код, проверив переменную Оценка: если она больше или равна 60, выведите Pass, в противном случае выведите Fail.

Загрузка редактора…
Показать подсказку

Используйте `if (score >= 60) { ... } else { ... }` и напечатайте точную запрошенную строку.

Решение доступно после 3 попыток

Упражнение#java.m1.l2.e2
Попыток: 0Загрузка…

Напишите цикл for для вывода чисел от 1 до 5 (включительно) в отдельных строках.

Загрузка редактора…
Показать подсказку

Используйте инициализацию `int i = 1`, условие `i <= 5` и увеличивайте `i++` внутри заголовка цикла `for`.

Решение доступно после 3 попыток

Упражнение#java.m1.l2.e3
Попыток: 0Загрузка…

Завершите код, используя цикл while, чтобы напечатать числа от 3 до 1 (включительно) в отдельных строках.

Загрузка редактора…
Показать подсказку

Напишите ` while (count >= 1) { ... }`, напечатав `count`, а затем уменьшив его с помощью `count--;`.

Решение доступно после 3 попыток