- 1 1. Úvod
- 2 2. Co je v Javě příkaz do-while? (Základní syntaxe)
- 3 3. Jasné rozdíly mezi while a do-while
- 4 4. Příklady Java do-while smyček (pro začátečníky)
- 5 5. Kdy použít do-while: Výhody a nevýhody
- 6 6. Combining do-while with break and continue
- 7 7. Běžné chyby a důležité poznámky
- 8 8. FAQ (Často kladené otázky)
- 8.1 Q1. When should I use a do-while loop?
- 8.2 Q2. How should I choose between while and do-while?
- 8.3 Q3. Why does my loop become infinite?
- 8.4 Q4. Is the do-while loop commonly used in real projects?
- 8.5 Q5. Can I ignore do-while and still program in Java?
- 8.6 Q6. Is the semicolon after while mandatory?
- 9 9. Final Summary
1. Úvod
„Jaký je rozdíl mezi příkazem do-while a while nebo for?“ Toto je jedna z prvních otázek, se kterými se mnoho začátečníků setkává při učení Javy. Smyčka do-while je post-testová smyčka, která zaručuje, že blok kódu se spustí alespoň jednou. Je zvláště užitečná v reálných scénářích, jako je ověřování vstupu uživatele nebo zajištění, že se něco zobrazí alespoň jednou.
V této kapitole objasňujeme, co se naučíte, aby vám pomohla pochopit celkový koncept smyčky do-while. Následující sekce pokryjí syntaxi, rozdíly od while, ukázkový kód, běžné úskalí a časté dotazy. Na konci byste ji měli umět používat přirozeně a sebejistě.
Cílové publikum
- Začátečníci v Javě až po ty, kteří chtějí posílit své základy
- Kdokoli, kdo chce pochopit rozdíly a správné případy použití mezi
whileado-whiles příklady - Čtenáři, kteří chtějí vyhnout běžným chybám začátečníků, jako jsou nekonečné smyčky nebo chybějící středníky
Co se naučíte
- Základní syntaxe a chování smyčky
do-while( post-test / spouští se alespoň jednou ) - Jasné rozdíly mezi
whileado-whilea jak vybrat tu správnou - Ukázkový kód přátelský pro začátečníky a jak číst výstup
- Důležité úvahy při použití
breakacontinue - Běžné chyby a úskalí (chybějící středníky, nekonečné smyčky kvůli špatnému návrhu podmínky atd.)
V následujících sekcích začneme syntaxí, poté krok za krokem přejdeme k porovnáním, příkladům a upozorněním, abychom vám pomohli upevnit pochopení.
2. Co je v Javě příkaz do-while? (Základní syntaxe)
Java poskytuje několik konstrukcí smyček, jako jsou for a while, ale smyčka do-while má jedinečnou vlastnost. Nejprve spustí blok kódu a až poté vyhodnotí podmínku, což je důvod, proč je často označována jako post-testová smyčka.
Ostatní smyčky vyhodnocují podmínku před provedením, což znamená, že kód se nemusí vůbec spustit. Naopak smyčka do-while se vždy spustí alespoň jednou, což ji činí ideální pro specifické scénáře.
Základní syntaxe
do {
// Code to execute
} while (condition);
Jedna kritická podrobnost je, že musíte za while (condition) přidat středník (;). Zapomenutí povede k chybě při kompilaci.
Průběh provádění
- Spusťte kód uvnitř
do { ... } - Vyhodnoťte
while (condition); - Pokud je podmínka
true, opakujte smyčku - Pokud je podmínka
false, ukončete smyčku
Stručně řečeno, pořadí je: spustit → vyhodnotit → opakovat.
Jednoduchý příklad
int count = 1;
do {
System.out.println("Loop count: " + count);
count++;
} while (count <= 3);
Výstup
Loop count: 1
Loop count: 2
Loop count: 3
Ačkoli je podmínka kontrolována po provedení, zpráva se vždy vytiskne alespoň jednou.
3. Jasné rozdíly mezi while a do-while
V Javě jsou nejčastějšími smyčkovými příkazy while a do-while. Vypadají podobně, ale existuje zásadní rozdíl: kdy se podmínka vyhodnocuje. Pochopení tohoto rozdílu usnadňuje výběr správné smyčky.
Pořadí provádění příkazu while
while (condition) {
// Code to execute
}
- 1. Podmínka se vyhodnotí jako první
- 2. Kód se spustí pouze pokud je podmínka
true - 3. Pokud je podmínka
false, kód se nikdy nespustí
Pořadí provádění příkazu do-while
do {
// Code to execute
} while (condition);
- 1. Kód se spustí jako první
- 2. Podmínka se vyhodnotí následně
- 3. Pokud je podmínka
true, smyčka se opakuje - 4. Pokud je podmínka
false, smyčka končí
Srovnávací tabulka
| Feature | while Loop | do-while Loop |
|---|---|---|
| Condition check timing | Before execution | After execution |
| Possibility of zero executions | Yes | No (always runs at least once) |
| Usage frequency | High | Lower |
Intuitivní vysvětlení
- while smyčka : “Checking a ticket before entering a venue.” If you don’t have a ticket, you never enter.
- do-while smyčka : “Entering the venue first, then checking the ticket at the exit.” You always enter at least once.
Simple Comparison Code
int x = 5;
// while loop
while (x < 5) {
System.out.println("while: executed");
}
// do-while loop
do {
System.out.println("do-while: executed");
} while (x < 5);
Výstup
do-while: executed
Even though the condition is false from the start, the do-while loop still executes once.
4. Příklady Java do-while smyček (pro začátečníky)
Now let’s look at practical examples using the do-while loop to better understand how it works. The key point to remember is that the loop always executes at least once.
Basic Example: Repeating a Counter
int count = 1;
do {
System.out.println("Hello! Count: " + count);
count++;
} while (count <= 3);
Výstup
Hello! Count: 1
Hello! Count: 2
Hello! Count: 3
In this example, the message is displayed while count is less than or equal to 3. Because the condition is evaluated after execution, the message is always printed at least once.
When the Condition Is False from the Start
int num = 10;
do {
System.out.println("This code runs!");
} while (num < 5);
Výstup
This code runs!
Even though the condition num < 5 is false initially, the loop still executes once. This behavior is unique to the do-while loop.
Using Random Numbers: Roll a Die Until You Get 6
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rand = new Random();
int dice;
do {
dice = rand.nextInt(6) + 1; // Random number from 1 to 6
System.out.println("Dice roll: " + dice);
} while (dice != 6);
System.out.println("You rolled a 6. The loop ends!");
}
}
Ukázkový výstup
Dice roll: 2
Dice roll: 5
Dice roll: 6
You rolled a 6. The loop ends!
This program keeps rolling the die until a 6 appears. With a while loop, the code might not run at all if the condition is false at the start, but a do-while loop guarantees at least one roll.
Key Takeaways
- Ideal when you need to execute code at least once (e.g., user input, initial attempts).
- Comparing
do-whilewithwhileusing code examples makes the difference easier to understand.
5. Kdy použít do-while: Výhody a nevýhody
So far, we’ve covered syntax and examples. Now let’s discuss when you should use a do-while loop and examine its advantages and disadvantages.
Recommended Use Cases
Když kód musí běžet alespoň jednou wp:list /wp:list
- Prompting user input (e.g., confirmation dialogs).
- Rolling a die at least once before checking a condition.
Attempting file access or connection checks at least once. 2. Když je logika po podmínce přirozenější wp:list /wp:list
“Try first, then decide whether to continue” workflows.
Advantages
- Guaranteed at least one execution Useful when you must always display a message or perform an initial action.
- Well-suited for input validation and trial-based logic The loop structure naturally matches scenarios where you want to run once before checking conditions.
Disadvantages
- Reduced readability in some cases Developers unfamiliar with
do-whilemay find the logic less intuitive. - Lower usage frequency In real-world projects,
forandwhileloops are more common. Overusingdo-whilemay confuse teammates.
Summary
- Use
do-whileonly when there is a clear reason to execute at least once. - In most other cases,
whileorforloops are safer and clearer choices.
6. Combining do-while with break and continue
The do-while loop se stává ještě flexibilnější, když je kombinována s break a continue. Podívejme se na běžné vzory použití.
break: Ukončení smyčky předčasně
Příkaz break okamžitě ukončí smyčku. Funguje stejným způsobem i uvnitř smyčky do-while.
int count = 1;
do {
if (count > 5) {
break; // Exit the loop when count exceeds 5
}
System.out.println("Count: " + count);
count++;
} while (true);
System.out.println("Loop has ended");
Výstup
Count: 1
Count: 2
Count: 3
Count: 4
Count: 5
Loop has ended
Ačkoli to vypadá jako nekonečná smyčka kvůli while (true), příkaz break zajišťuje řádné ukončení.

continue: Přeskočení na další iteraci
Příkaz continue přeskočí zbytek kódu v aktuální iteraci a přejde k dalšímu vyhodnocení podmínky.
int num = 0;
do {
num++;
if (num % 2 == 0) {
continue; // Skip even numbers
}
System.out.println("Odd number: " + num);
} while (num < 5);
Výstup
Odd number: 1
Odd number: 3
Odd number: 5
V tomto příkladu jsou sudá čísla přeskočena a jsou vytištěna pouze lichá čísla.
Praktický příklad: Smyčka pro vstup uživatele
Běžný vzor je vynutit alespoň jeden vstup od uživatele a poté ukončit smyčku, když je splněna podmínka.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input;
do {
System.out.print("Type 'exit' to quit: ");
input = scanner.nextLine();
if (input.equals("exit")) {
break;
}
System.out.println("You entered: " + input);
} while (true);
System.out.println("Program terminated");
}
}
Klíčové body
break→ Kompletně ukončí smyčkucontinue→ Přeskočí pouze aktuální iteraci- Kombinace těchto příkazů se
do-whileumožňuje flexibilní řízení a zároveň zaručuje alespoň jedno provedení
7. Běžné chyby a důležité poznámky
Ačkoli má smyčka do-while jednoduchou strukturu, začátečníci často narazí na několik běžných chyb. Níže jsou nejčastější chyby a body, na které byste měli věnovat pozornost.
1. Zapomenutí středníku
V smyčce do-while je středník po while (condition) povinný. Zapomenutí způsobí chybu při kompilaci.
// ❌ Incorrect: causes a compilation error
do {
System.out.println("Processing");
} while (x < 5) // Missing semicolon
// ✅ Correct
do {
System.out.println("Processing");
} while (x < 5);
2. Nekonečné smyčky
Pokud podmínka smyčky nikdy neproběhne na false, smyčka se nikdy nezastaví. K tomu často dochází, když se proměnná použita v podmínce neaktualizuje.
int x = 1;
do {
System.out.println("Execution: " + x);
// x is never updated, so the condition remains true
} while (x > 0);
Tento kód vede k nekonečné smyčce. Vždy se ujistěte, že podmínka se může nakonec změnit a smyčku ukončit.
3. Neúmyslné jednorázové provedení
Protože smyčka do-while se vždy spustí alespoň jednou, kód se může provést jen jednou, i když jste neplánovali smyčku.
int num = 10;
do {
System.out.println("Executed");
} while (num < 5);
Výstup
Executed
Pokud vaším záměrem bylo úplně přeskočit provedení, může toto chování způsobit chyby. Pečlivý návrh podmínky je nezbytný.
4. Záměna do-while s while
Začátečníci často předpokládají, že do-while se chová přesně jako while. Zapomenutí, že do-while se vždy provede alespoň jednou, může snadno vést k neočekávaným výsledkům.
Shrnutí
- Zapomenutí středníku je nejčastější chyba
- Vždy aktualizujte proměnné, aby nedocházelo k nekonečným smyčkám
- Navrhujte podmínky pečlivě, s ohledem na pravidlo „provádí se alespoň jednou“
8. FAQ (Často kladené otázky)
Below are common questions beginners ask when learning the do-while loop, presented in a Q&A format for quick reference.
Q1. When should I use a do-while loop?
A: Use it when you need the code to run at least once. Typical examples include user input prompts or initial checks that must be performed before deciding whether to continue.
Q2. How should I choose between while and do-while?
A:
- while loop → Execute code only when the condition is satisfied
- do-while loop → Execute code at least once, regardless of the condition
In most cases, while is sufficient. Choose do-while when a single guaranteed execution is required.
Q3. Why does my loop become infinite?
A: This happens when the loop condition always evaluates to true. Common causes include failing to update loop variables or not defining a proper exit condition.
The solution is to ensure the condition can eventually become false.
Q4. Is the do-while loop commonly used in real projects?
A: Not very often. Most production code relies on for or while loops. However, do-while is still useful for scenarios like user input handling or confirmation loops.
Q5. Can I ignore do-while and still program in Java?
A: You can write most programs using for and while. However, understanding do-while is essential for reading existing code and avoiding misinterpretation of loop behavior.
Q6. Is the semicolon after while mandatory?
A: Yes. The semicolon after while (condition) is required. Omitting it will cause a compilation error.
9. Final Summary
We have covered the Java do-while loop from fundamentals to practical usage. Let’s review the most important points.
Key Characteristics of the do-while Loop
- A loop that always executes at least once
- Execution order is process → condition check (post-test loop)
- A semicolon is required at the end of the statement
Differences from the while Loop
while→ Condition is checked before execution; the code may never rundo-while→ Execution is guaranteed at least once
Practical Use Cases
- When user input must be requested at least once
- Trial-based repetition such as dice rolls or connection tests
- Flexible control combined with
breakandcontinue
Important Cautions
- Compilation errors caused by missing semicolons
- Infinite loops due to missing variable updates
- Design conditions carefully, remembering that execution always happens once
Applying This Knowledge
- Although usage frequency is low, understanding
do-whileis essential for reading and maintaining existing code - Use
fororwhileby default, and applydo-whileonly when it clearly fits the logic
In summary, the do-while loop is a powerful construct when you need guaranteed execution. Mastering it will deepen your understanding of Java loop control and help you write clearer, more reliable code.

