Найти в Дзене
Анастасия Софт

Урок 12 для Java-разработчика. 💻Условия и циклы в Java — Пошаговое руководство

На этом этапе вашего пути в изучении Java вы переходите к более серьезным вещам. Добро пожаловать в модуль "Условия и циклы" — здесь мы научимся управлять потоком выполнения программы, принимать решения и повторять действия. Именно эти механизмы делают программы умными и полезными. Давайте разберемся, как ветвление и циклы помогают писать гибкий, мощный код. Прежде чем углубиться в условия и циклы, давайте вспомним: переменная живёт в определённом блоке кода. Это область, ограниченная фигурными скобками {}. public class ScopeExample {
public static void main(String[] args) {
int x = 10; // переменная x объявлена в main
if (x > 5) {
int y = 20; // переменная y объявлена внутри if
System.out.println(x + y); // x и y доступны
}
// System.out.println(y); // Ошибка! y не видна вне блока if
}
} 🔍 Пояснение: Оператор if позволяет выполнять код только при выполнении условия. int age = 18;
if (age >= 18) {
System.out.printl
Оглавление
Урок 12 для Java-разработчика. 💻Условия и циклы в Java — Пошаговое руководство
Урок 12 для Java-разработчика. 💻Условия и циклы в Java — Пошаговое руководство

На этом этапе вашего пути в изучении Java вы переходите к более серьезным вещам. Добро пожаловать в модуль "Условия и циклы" — здесь мы научимся управлять потоком выполнения программы, принимать решения и повторять действия. Именно эти механизмы делают программы умными и полезными.

Давайте разберемся, как ветвление и циклы помогают писать гибкий, мощный код.

Переменные и область видимости

Прежде чем углубиться в условия и циклы, давайте вспомним: переменная живёт в определённом блоке кода. Это область, ограниченная фигурными скобками {}.

public class ScopeExample {
public static void main(String[] args) {
int x = 10; // переменная x объявлена в main

if (x > 5) {
int y = 20; // переменная y объявлена внутри if
System.out.println(x + y); // x и y доступны
}

// System.out.println(y); // Ошибка! y не видна вне блока if
}
}

🔍 Пояснение:

  • x видна везде в main.
  • y живёт только внутри блока if.

Условные операторы

if, else if, else

Оператор if позволяет выполнять код только при выполнении условия.

int age = 18;

if (age >= 18) {
System.out.println("Вы совершеннолетний.");
} else {
System.out.println("Вам ещё нет 18.");
}

Можно добавить промежуточные условия:

int score = 75;

if (score >= 90) {
System.out.println("Отлично!");
} else if (score >= 70) {
System.out.println("Хорошо.");
} else {
System.out.println("Нужно постараться.");
}

🔍 Пояснение:

  • Если score >= 90, выполняется только первый блок.
  • Если score >= 70, но меньше 90 — второй.
  • Иначе — третий.

switch

Если много if-else, switch выглядит чище.

int day = 3;

switch (day) {
case 1:
System.out.println("Понедельник");
break;
case 2:
System.out.println("Вторник");
break;
case 3:
System.out.println("Среда");
break;
default:
System.out.println("Неизвестный день");
}

🔍 Пояснение:

  • case сравнивает day со значением.
  • break прерывает выполнение switch.
  • default — как else, если ничего не подошло.

Циклы

while

int i = 0;
while (i < 5) {
System.out.println("i = " + i);
i++;
}

🔍 Пояснение:

  • Цикл выполняется, пока i < 5.
  • Каждый раз i увеличивается на 1.

do-while

int j = 0;
do {
System.out.println("j = " + j);
j++;
} while (j < 3);

🔍 Пояснение:

  • Отличие от while: тело цикла всегда выполняется хотя бы один раз.

for

for (int k = 1; k <= 3; k++) {
System.out.println("Привет, мир " + k);
}

🔍 Пояснение:

  • int k = 1 — инициализация.
  • k <= 3 — условие.
  • k++ — шаг цикла.

break и continue

for (int i = 0; i < 5; i++) {
if (i == 3) break;
System.out.println(i);
}

  • break завершает весь цикл.

for (int i = 0; i < 5; i++) {
if (i == 2) continue;
System.out.println(i);
}

  • continue пропускает текущую итерацию и переходит к следующей.

Тест на понимание

  1. Что произойдёт при выполнении следующего кода?

int a = 2;
switch (a) {
case 1:
System.out.println("Один");
break;
case 2:
System.out.println("Два");
default:
System.out.println("Другое число");
}

A. Вывод: Один

B. Вывод: Два

C. Вывод: Два и Другое число

D. Ошибка компиляции

  1. Что делает continue?

A. Завершает весь цикл

B. Пропускает следующую итерацию

C. Возвращает значение

D. Перезапускает программу

  1. Какой цикл гарантирует выполнение тела хотя бы один раз?

A. for

B. while

C. do-while

D. ни один

Практические задачи

Задача 1.

Выведите все чётные числа от 1 до 20.

Задача 2.

Запросите у пользователя возраст. Если возраст меньше 12, выведите "Ребёнок", от 12 до 17 — "Подросток", от 18 и выше — "Взрослый".

Задача 3.

С помощью for напишите таблицу умножения на 3 от 1 до 10.

Заключение

Вы узнали, как:

  • использовать блоки кода и понимать область видимости переменных,
  • применять if, else if, else и switch для принятия решений,
  • повторять действия с помощью for, while, do-while,
  • управлять циклом с помощью break и continue.

Теперь вы можете писать интерактивные, логически гибкие программы на Java!

Ответы на тест

  1. Что произойдёт при выполнении следующего кода?

    Правильный ответ: C. Вывод: Два и Другое число
  2. Что делает continue?

    Правильный ответ: B. Пропускает следующую итерацию
  3. Какой цикл гарантирует выполнение тела хотя бы один раз?

    Правильный ответ: C. do-while

Подробный разбор задач

Задача 1. Чётные числа от 1 до 20

for (int i = 1; i <= 20; i++) {
if (i % 2 == 0) {
System.out.println(i);
}
}

🔍 Пояснение:

  • i % 2 == 0 означает, что число чётное.
  • Выводим только такие i.

Задача 2. Определение возраста

import java.util.Scanner;

public class AgeChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите возраст: ");
int age = scanner.nextInt();

if (age < 12) {
System.out.println("Ребёнок");
} else if (age < 18) {
System.out.println("Подросток");
} else {
System.out.println("Взрослый");
}
}
}

🔍 Пояснение:

  • Используем Scanner для ввода.
  • Условия идут от меньшего к большему — это важно.

Задача 3. Таблица умножения на 3

for (int i = 1; i <= 10; i++) {
System.out.println("3 x " + i + " = " + (3 * i));
}

🔍 Пояснение:

  • Перебираем от 1 до 10.
  • Умножаем 3 на i, выводим результат.