A do-while loop lets you run a block of code at least once, then repeat it while a condition is true.
Do–while loop in Java
do { // code to run } while (condition);
The code inside do { } runs first, before the condition is checked.
The loop repeats only if the condition after while is true.
int count = 1; do { System.out.println("Count is " + count); count++; } while (count <= 3);
int number = 10; do { System.out.println("Number: " + number); number--; } while (number > 7);
This program prints "Hello 1", "Hello 2", and "Hello 3" using a do-while loop.
public class DoWhileExample { public static void main(String[] args) { int i = 1; do { System.out.println("Hello " + i); i++; } while (i <= 3); } }
The do-while loop always runs the code block at least once, even if the condition is false at the start.
Remember to update variables inside the loop to avoid infinite loops.
Do-while loops run code first, then check the condition.
They are useful when the code must run at least once.
Always ensure the loop condition will eventually become false.
Practice
What is the main difference between a do-while loop and a while loop in Java?
Solution
Step 1: Understand
Ado-whileloop behaviordo-whileloop runs the code block first, then checks the condition to decide if it should repeat.Step 2: Compare with
Awhileloopwhileloop checks the condition first before running the code block, so it may not run at all if the condition is false initially.Final Answer:
Ado-whileloop executes the code block at least once before checking the condition. -> Option AQuick Check:
do-whileruns once before condition check [OK]
- Thinking while loop always runs code once
- Believing do-while skips condition check
- Confusing order of execution and condition check
Which of the following is the correct syntax for a do-while loop in Java?
?
Solution
Step 1: Recall correct
The correct syntax starts withdo-whilesyntaxdo, then the code block in braces, followed bywhile (condition);with a semicolon.Step 2: Identify the correct option
do { // code } while (condition); matches the correct syntax exactly. Others have wrong order, missing semicolon, or wrong keywords.Final Answer:
do { // code } while (condition); -> Option AQuick Check:
Syntax: do { } while (condition); [OK]
- Missing semicolon after while condition
- Using 'until' instead of 'while'
- Placing condition before code block
What will be the output of the following Java code?
int count = 1;
do {
System.out.print(count + " ");
count++;
} while (count <= 3);Solution
Step 1: Trace the loop iterations
Initially, count = 1. The loop prints count, then increments it. It repeats while count <= 3.Step 2: List printed values
Iterations print: 1 (count=1), 2 (count=2), 3 (count=3). When count becomes 4, condition fails and loop stops.Final Answer:
1 2 3 -> Option CQuick Check:
Prints 1 to 3 inclusive [OK]
- Thinking loop prints 4 because of increment
- Confusing pre-increment and post-increment
- Assuming no output if condition false initially
Identify the error in this do-while loop code snippet:
int i = 0;
do {
System.out.println(i);
i++
} while (i < 5);Solution
Step 1: Check syntax inside the loop
The statementi++is missing a semicolon at the end, which causes a syntax error.Step 2: Verify other parts
The condition is correctly placed after the loop with a semicolon. Variable declaration outside is valid. Loop type is correct.Final Answer:
Missing semicolon afteri++-> Option DQuick Check:
Every statement needs a semicolon [OK]
- Forgetting semicolon after increment
- Misplacing condition inside braces
- Thinking variable must be declared inside loop
You want to write a do-while loop that asks the user to enter a positive number and repeats until the user enters a positive number. Which code snippet correctly implements this?
Scanner sc = new Scanner(System.in);
int num;
do {
System.out.print("Enter a positive number: ");
num = sc.nextInt();
} while (???);Solution
Step 1: Understand the loop goal
The loop should repeat while the number is not positive, meaning while it is zero or negative.Step 2: Choose the correct condition
The conditionnum <= 0ensures the loop repeats until the user enters a positive number.Final Answer:
num <= 0 -> Option BQuick Check:
Repeat while number is not positive [OK]
- Using condition that stops too early
- Checking for positive instead of non-positive
- Confusing < and <= operators
Ready to prove it?
Pass the test and this pattern moves unknown
