We use loops to repeat actions. while and do-while loops help us repeat code, but they check the condition at different times.
When you want to repeat something only if a condition is true before starting.
When you want to run a block of code at least once, then repeat if a condition is true.
When you are reading user input and want to validate it before repeating.
When you want to keep asking for a password until it is correct, but show the prompt at least once.
Syntax
Java
while (condition) {
// code to repeat
}
do {
// code to repeat
} while (condition);
while checks the condition before running the code.
do-while runs the code once before checking the condition.
Examples
This prints numbers 0, 1, 2 because it checks before printing.
Java
int i = 0;
while (i < 3) {
System.out.println(i);
i++;
}
This also prints 0, 1, 2 but runs the print at least once even if condition is false.
Java
int i = 0;
do {
System.out.println(i);
i++;
} while (i < 3);
This prints nothing because condition is false at start.
Java
int i = 5;
while (i < 3) {
System.out.println(i);
i++;
}
This prints 5 once because do runs before condition check.
Java
int i = 5;
do {
System.out.println(i);
i++;
} while (i < 3);
Sample Program
This program shows the difference: the while loop does not print because condition is false at start. The do-while loop prints once because it runs before checking.
Java
publicclass LoopDifference {
publicstaticvoid main(String[] args) {
int count = 5;
System.out.println("Using while loop:");
while (count < 3) {
System.out.println("Count is " + count);
count++;
}
count = 5;
System.out.println("Using do-while loop:");
do {
System.out.println("Count is " + count);
count++;
} while (count < 3);
}
}
OutputSuccess
Important Notes
Use while when you want to check the condition first.
Use do-while when you want the code to run at least once.
Remember the semicolon ; after the do-while condition.
Summary
while checks condition before running code.
do-while runs code once before checking condition.
Choose based on whether you want the code to run at least once or not.
Practice
(1/5)
1. What is the main difference between while and do-while loops in Java?
easy
A. while runs the loop body once before checking; do-while checks the condition before running.
B. while and do-while both check the condition after running the loop body.
C. while checks the condition before running the loop body; do-while runs the loop body once before checking.
D. while loops run only once; do-while loops run multiple times.
Solution
Step 1: Understand while loop behavior
The while loop checks the condition before running the loop body, so if the condition is false initially, the loop body does not run at all.
Step 2: Understand do-while loop behavior
The do-while loop runs the loop body once first, then checks the condition to decide if it should continue looping.
Final Answer:
while checks the condition before running; do-while runs once before checking. -> Option C
Quick Check:
Condition check timing = while before, do-while after [OK]
Hint: Remember: do-while runs once before condition check [OK]
Common Mistakes:
Thinking both loops check condition before running
Assuming do-while never checks condition
Confusing which loop runs code first
2. Which of the following is the correct syntax for a do-while loop in Java?
easy
A. while (condition) { /* code */ };
B. do { /* code */ } while (condition);
C. do (condition) { /* code */ };
D. while { /* code */ } do (condition);
Solution
Step 1: Recall do-while syntax
The do-while loop syntax starts with do, then the loop body in braces, followed by while with the condition in parentheses and a semicolon.
Step 2: Check each option
do { /* code */ } while (condition); matches the correct syntax exactly. Options B, C, and D have syntax errors or wrong order.
Final Answer:
do { /* code */ } while (condition); -> Option B
Quick Check:
Syntax order: do, body, while(condition); [OK]
Hint: do-while ends with a semicolon after condition [OK]
Common Mistakes:
Missing semicolon after while(condition)
Putting condition after do without while
Using while without do in do-while loop
3. What will be the output of this Java code?
int count = 0;
do {
System.out.print(count + " ");
count++;
} while (count < 3);
medium
A. No output
B. 1 2 3
C. 0 1 2 3
D. 0 1 2
Solution
Step 1: Trace the loop execution
The variable count starts at 0. The do-while loop prints count then increments it. It repeats while count < 3.
Step 2: List printed values
First iteration: prints 0, count becomes 1; second: prints 1, count 2; third: prints 2, count 3; loop stops because 3 is not less than 3.
Final Answer:
0 1 2 -> Option D
Quick Check:
Prints 0 to 2 inclusive [OK]
Hint: do-while runs at least once, prints count before increment [OK]
Common Mistakes:
Assuming count starts at 1
Expecting output to include 3
Thinking loop doesn't run if condition false initially
4. Identify the error in this code snippet:
int i = 5;
while (i > 0);
{
System.out.println(i);
i--;
}
medium
A. Extra semicolon after while condition causes infinite loop
B. Missing braces around while loop body
C. Variable i is not initialized
D. Condition should be i >= 0
Solution
Step 1: Analyze the while loop syntax
The semicolon immediately after while (i > 0); ends the loop statement, making it an empty loop that runs infinitely if condition is true.
Step 2: Understand the block after while
The block in braces is not part of the loop but runs once after the loop ends, which never happens here due to infinite loop.
Final Answer:
Extra semicolon after while condition causes infinite loop -> Option A
Quick Check:
Semicolon after while() ends loop prematurely [OK]
Hint: No semicolon immediately after while(condition) [OK]
Common Mistakes:
Thinking braces fix the semicolon error
Assuming loop runs once
Confusing condition correctness with syntax error
5. You want to prompt a user to enter a positive number and keep asking until they do. Which loop is best and why?
hard
A. Use a do-while loop because it ensures the prompt runs at least once.
B. Use a for loop because it runs a fixed number of times.
C. Use a while loop because it checks condition before input.
D. Use an if statement to check once and stop.
Solution
Step 1: Understand the requirement
The program must ask the user at least once to enter a positive number, then repeat if the input is invalid.
Step 2: Choose the suitable loop
A do-while loop runs the prompt first, then checks the condition to repeat, ensuring the prompt always appears at least once.
Final Answer:
Use a do-while loop because it ensures the prompt runs at least once. -> Option A
Quick Check:
Prompt runs once before condition check = do-while [OK]
Hint: Use do-while to run code at least once before checking [OK]
Common Mistakes:
Choosing while loop and missing first prompt
Using for loop which is not for input validation
Using if statement which doesn't loop
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.