Уроки модуля (2/2)
Управление потоком
Чтобы сделать наши программы динамичными и способными принимать решения, мы используем структуры потока управления: условные операторы и циклы.
Условные обозначения: if, else if и else.
Инструкция if выполняет блок кода только в том случае, если определенное логическое условие истинно.
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, если хотя бы одно из условий истинно.!(НЕ): инвертирует логическое значение условия.
boolean hasLicense = true;
boolean hasCar = false;
if (hasLicense && hasCar) {
System.out.println("Puoi guidare.");
}Циклы: while и for.
Циклы позволяют нам многократно выполнять блок кода.
Цикл while
Выполняет код, пока указанное условие остается true.
int count = 1;
while (count <= 3) {
System.out.println("Conteggio: " + count);
count++; // Increment count by 1
}Цикл for
Идеально, когда мы заранее знаем количество итераций, которые нужно выполнить. Синтаксис требует инициализации, условия завершения и выражения приращения.
for (int i = 0; i < 5; i++) {
System.out.println("Iteration: " + i);
}Расширенные условные операторы: switch
Когда нам нужно сравнить одну переменную с несколькими константными значениями, оператор switch делает код намного чище, чем несколько связанных в цепочку блоков if-else.
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).
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue; // Skips printing for the number 3
}
System.out.println(i);
}Попробуйте сами
Завершите код, проверив переменную Оценка: если она больше или равна 60, выведите Pass, в противном случае выведите Fail.
Показать подсказку
Используйте `if (score >= 60) { ... } else { ... }` и напечатайте точную запрошенную строку.
Решение доступно после 3 попыток
Напишите цикл for для вывода чисел от 1 до 5 (включительно) в отдельных строках.
Показать подсказку
Используйте инициализацию `int i = 1`, условие `i <= 5` и увеличивайте `i++` внутри заголовка цикла `for`.
Решение доступно после 3 попыток
Завершите код, используя цикл while, чтобы напечатать числа от 3 до 1 (включительно) в отдельных строках.
Показать подсказку
Напишите ` while (count >= 1) { ... }`, напечатав `count`, а затем уменьшив его с помощью `count--;`.
Решение доступно после 3 попыток