CodeGym /Kursy /JAVA 25 SELF /Pętla do-while: wprowadzenie i niuanse działania

Pętla do-while: wprowadzenie i niuanse działania

JAVA 25 SELF
Poziom 4 , Lekcja 3
Dostępny

1. Wprowadzenie do pętli do-while

Wyobraź sobie: piszesz program, który zgaduje liczbę wybraną przez użytkownika. Trzeba co najmniej raz poprosić o liczbę i powtarzać prośbę, dopóki jej nie odgadniesz. Jeśli sprawdzisz warunek na początku, zwykła while może w ogóle nie wejść do pętli.

Tu pomaga do-while. W odróżnieniu od while, zawsze wykona ciało pętli co najmniej raz — nawet jeśli warunek od razu jest fałszywy. To jak dostać gumę do żucia przy kasie, niezależnie od zakupu.

Składnia do-while

To proste: kolejna para słów kluczowych w Javie.


do
{
    // Ciało pętli: ten kod wykona się co najmniej raz
}
while (condition);
Składnia pętli do-while

Zwróć uwagę na średnik ; na końcu po nawiasie warunku! W zwykłej while go nie ma, a tutaj jest — klasyczna pułapka dla początkujących.

Opis kroków pętli do-while

  1. Wejście do ciała pętli (zawsze co najmniej raz).
  2. Sprawdzenie warunku.
  3. Jeśli warunek jest prawdziwy — powtórz ciało.
  4. Jeśli warunek jest fałszywy — wyjdź z pętli.

2. Różnica względem zwykłej while

Przypomnijmy podstawowy scenariusz działania zwykłej pętli while:

while (condition)
{
    // Ciało pętli
}

Ciało nie wykona się ani razu, jeśli warunek od początku jest fałszywy!

Teraz przykład z do-while:

do
{
    // Ciało pętli
}
while (condition);

Ciało pętli wykona się co najmniej raz, nawet jeśli warunek od razu jest fałszywy!

Zilustrujmy różnicę kodem:

// Zwykła pętla while
int count = 0;
while (count > 0)
{
    System.out.println("count = " + count);
    count--;
}
// Nic nie zostanie wypisane

// do-while
int count2 = 0;
do
{
    System.out.println("count2 = " + count2);
    count2--;
}
while (count2 > 0);
// Wypisze "count2 = 0", chociaż warunek jest fałszywy!

Czasem wydaje się to „dziwne”, ale dokładnie takiego zachowania potrzebujemy przy wprowadzaniu danych przez użytkownika i ich walidacji.

3. Praktyczne scenariusze użycia do-while

Gdzie ta pętla występuje najczęściej?

Walidacja danych

Popularny scenariusz: prosimy użytkownika o wprowadzenie poprawnych danych (na przykład hasła nie krótszego niż 6 znaków) i powtarzamy prośbę, dopóki wszystko nie będzie poprawne.

String password;
do
{
    System.out.print("Wprowadź nowe hasło (co najmniej 6 znaków): ");
    password = console.nextLine();
}
while (password.length() < 6);

System.out.println("Hasło przyjęte!");

Ciało pętli wykona się co najmniej raz — nawet jeśli użytkownik od razu wprowadzi długie hasło.

Menu w aplikacjach konsolowych

Częsty wzorzec: pokazywać menu, czekać na polecenie i wychodzić tylko po specjalnym poleceniu.

String command;
do
{
    System.out.println("Menu:");
    System.out.println("1. Pokaż powitanie");
    System.out.println("2. Wyjście");
    System.out.print("Wybierz działanie: ");
    command = console.nextLine();

    if (command.equals("1")) 
    {
        System.out.println("Witaj, świecie!");
    }
    else if (!command.equals("2"))
    {
        System.out.println("Nieznane polecenie.");
    }
}
while (!command.equals("2"));

System.out.println("Do zobaczenia!");

4. Tabela: porównanie while i innych pętli

Typ pętli Sprawdzenie warunku Ile razy może wykonać się ciało Kiedy stosować
while
Przed 0 i więcej razy Gdy z góry nie wiadomo, ile będzie powtórzeń
do-while
Po 1 i więcej razy Gdy ważne jest wykonanie ciała co najmniej raz
for
Przed 0 i więcej razy Gdy znana jest liczba iteracji
1
Zadanie
JAVA 25 SELF, poziom 4, lekcja 3
Niedostępne
Pierwsze uruchomienie gry 🎮
Pierwsze uruchomienie gry 🎮
1
Zadanie
JAVA 25 SELF, poziom 4, lekcja 3
Niedostępne
Wprowadzanie kodu PIN 💳
Wprowadzanie kodu PIN 💳
1
Zadanie
JAVA 25 SELF, poziom 4, lekcja 3
Niedostępne
Interaktywny terminal 💻
Interaktywny terminal 💻
1
Zadanie
JAVA 25 SELF, poziom 4, lekcja 3
Niedostępne
Rejestracja nowego konta 🔒
Rejestracja nowego konta 🔒
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION