Зміст курсу
Основи Java
Основи Java
Цикл Do-While
У чому різниця між while та do-while?
Цикл do-while
— це ще один тип циклу в Java, який схожий на цикл while
. Однак він має одну важливу відмінність: умова перевіряється наприкінці кожної ітерації. Це означає, що блок коду завжди виконається хоча б один раз перед перевіркою умови.
Ось базовий синтаксис циклу do-while
:
Main
do { // Code block } while (condition);
Ось кілька ключових моментів, які слід враховувати щодо циклу do-while
:
Потік виконання: спочатку виконується блок коду, а потім перевіряється умова. Якщо умова істинна, цикл продовжується до наступної ітерації. Якщо умова хибна, цикл завершується, і програма переходить до наступної інструкції після циклу;
Гарантоване виконання: оскільки блок коду виконується до перевірки умови, цикл
do-while
корисний, коли потрібно гарантувати, що блок коду виконається принаймні один раз, незалежно від початкової умови;Область видимості змінних: змінні, визначені всередині блоку коду циклу
do-while
, мають область видимості, обмежену цим блоком. Вони недоступні поза межами циклу;Випадки використання: цикл
do-while
часто використовується, коли потрібно запросити введення користувача принаймні один раз, а потім продовжити цикл залежно від умови. Також корисний при ітерації по списку елементів, забезпечуючи виконання циклу хоча б один раз, навіть якщо список порожній.
Розглянемо простий приклад використання та порівняємо результати циклів while
і do-while
на дуже базовому прикладі:
main
package com.example; public class Main { public static void main(String[] args) { do { System.out.println("Do-while loop executed successfully"); } while (1 < 0); } }
Цикл while
:
main
package com.example; public class Main { public static void main(String[] args) { while (1 < 0) { System.out.println("While loop executed successfully"); } } }
Можна побачити, що при виконанні циклу do-while
з умовою, яка завжди дорівнює false
, тіло циклу виконується один раз, тоді як цикл while
просто видає помилку. Це єдина й найважливіша відмінність між цими двома циклами.
1. Яким буде вивід цього коду?
2. Яким буде вивід цього коду?
Дякуємо за ваш відгук!