Управляючі конструкції в Java змінюють потік виконання програми залежно від певних умов або для повторного виконання. Ці конструкції дозволяють виконувати код за умовами, створювати цикли та здійснювати ранні виходи з циклів чи функцій.
Ось огляд основних типів:
1. Умовні конструкції
if
Конструкція: Виконує блок коду лише за умови, що певна умова є істинною.
1. Конструкція if
Виконує блок коду тільки якщо задана умова є істинною.
int age = 18;
if (age >= 18) {
System.out.println("Ви маєте право голосувати.");
}
if-else
Конструкція: Додає альтернативний блок, який виконується, якщо умова є хибною.
int temperature = 25;
if (temperature > 30) {
System.out.println("Сьогодні жаркий день.");
} else {
System.out.println("Сьогодні прохолодний день.");
}
else if
Ланцюжок: З’єднує кілька умов, виконуючи блок першої істинної умови.
int score = 85;
if (score >= 90) {
System.out.println("Оцінка: A");
} else if (score >= 80) {
System.out.println("Оцінка: B");
} else if (score >= 70) {
System.out.println("Оцінка: C");
} else {
System.out.println("Оцінка: F");
}
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("Невірний день");
break;
}
2. Цикли
for
Цикл: Повторює блок коду певну кількість разів, використовуючи змінну-лічильник.
for (int i = 1; i <= 5; i++) {
System.out.println("Ітерація " + i);
}
Вивід:
Ітерація 1
Ітерація 2
Ітерація 3
Ітерація 4
Ітерація 5
while
Цикл: Повторює блок коду, поки задана умова є істинною.
int count = 1;
while (count <= 5) {
System.out.println("Лічильник: " + count);
count++;
}
do-while
Цикл: Виконує блок коду хоча б один раз, а потім повторює його, поки умова є істинною.
int number = 1;
do {
System.out.println("Число: " + number);
number++;
} while (number <= 5);
Вивід:
Число: 1
Число: 2
Число: 3
Число: 4
Число: 5
4. Покращений цикл for
(for-each цикл)
Використовується для перебору масивів чи колекцій.
int[] numbers = {10, 20, 30, 40, 50};
for (int num : numbers) {
System.out.println("Число: " + num);
}
Вивід:
Число: 10
Число: 20
Число: 30
Число: 40
Число: 50
3. Конструкції переходу
break
: Виходить з циклу або конструкціїswitch
, негайно завершаючи її виконання.
for (int i = 1; i <= 5; i++) {
if (i == 3) {
break; // Виходить з циклу, коли i дорівнює 3
}
System.out.println("i = " + i);
}
Вивід:
i = 1
i = 2
continue
: Пропускає поточну ітерацію циклу та переходить до наступної.
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue; // Пропускає решту коду, коли i дорівнює 3
}
System.out.println("i = " + i);
}
Вивід:
i = 1
i = 2
i = 4
i = 5
return
: Виходить з методу та, за необхідності, повертає значення до викликаючого коду.
public static int addNumbers(int a, int b) {
return a + b; // Повертає результат додавання
}
public static void main(String[] args) {
int result = addNumbers(5, 10);
System.out.println("Результат: " + result);
}
Вивід:
Результат: 15
Мітки для конструкцій
- Мітки для конструкцій використовуються з
break
абоcontinue
для виходу чи пропуску ітерацій у вкладених циклах. Мітка визначає конкретний цикл для контролю.
##break
з міткою
Виходить з конкретного циклу у вкладеній структурі циклів.
outerLoop:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (j == 2) {
break outerLoop; // Виходить з зовнішнього циклу, коли j дорівнює 2
}
System.out.println("i = " + i + ", j = " + j);
}
}
Вивід:
i = 1, j = 1
Пояснення: Коли j
дорівнює 2
, конструкція break
з міткою outerLoop
зупиняє обидва цикли.
2. continue
з міткою
Пропускає поточну ітерацію конкретного циклу у вкладеній структурі та переходить до наступної ітерації.
outerLoop:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (j == 2) {
continue outerLoop; // Пропускає до наступної ітерації зовнішнього циклу
}
System.out.println("i = " + i + ", j = " + j);
}
}
Вивід:
i = 1, j = 1
i = 2, j = 1
i = 3, j = 1
Пояснення: Коли j
дорівнює 2
, конструкція continue
з міткою outerLoop
пропускає решту ітерацій внутрішнього циклу та переходить до наступної ітерації зовнішнього циклу.
3. Багато вкладених циклів з міткою break
Більш складний приклад, де конструкція break
з міткою використовується для виходу з глибоко вкладеного циклу.
outerLoop:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
for (int k = 1; k <= 3; k++) {
if (k == 2) {
break outerLoop; // Виходить з усіх циклів, коли k дорівнює 2
}
System.out.println("i = " + i + ", j = " + j + ", k = " + k);
}
}
}
Вивід:
i = 1, j = 1, k = 1
Пояснення: Коли k
дорівнює 2
, конструкція break
з міткою outerLoop
виходить з усіх циклів негайно.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Підписуйтесь на нас в Instagram, щоб отримувати більше постів та порад з програмування.
https://www.instagram.com/programming_pulse/
Перекладено з: Mastering Control Statements in Java: A Guide to Conditional Logic and Flow Control