do
Keyword in Java
In Java, the do
keyword is part of the do-while loop, a control flow statement that allows a block of code to execute at least once, and then repeatedly based on a given condition.
This structure is unique because it checks the loop condition after executing the loop body. That means even if the condition is false at the start, the loop will run once — guaranteed.
Syntax of the do
Keyword
do {
// statements
} while (condition);
How It Works
- The block inside
do { }
executes first. - Then the condition is evaluated in the
while
clause. - If the condition is
true
, the loop runs again. Iffalse
, the loop ends.
Example 1: Basic do-while Loop
This example prints numbers from 1 to 5 using the do
keyword.
public class DoWhileExample {
public static void main(String[] args) {
int i = 1;
do {
System.out.println("Number: " + i);
i++;
} while (i <= 5);
}
}
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
Explanation
- The variable i
starts at 1.
- The loop runs and prints the number.
- After printing, i
is incremented.
- The condition (i <= 5)
is checked after the block executes.
Example 2: do-while Runs Even If Condition Is False
Let’s see what happens when the condition is false to begin with.
public class DoWhileOnce {
public static void main(String[] args) {
int i = 10;
do {
System.out.println("This will run even if condition is false!");
} while (i < 5);
}
}
This will run even if condition is false!
Explanation
Although i
is 10 and the condition i < 5
is clearly false, the loop body runs once before the condition is checked. That’s the defining behavior of a do-while
loop.
Common Use Cases
- Input validation (e.g., ask user input until valid)
- Menu-driven programs that require at least one interaction
- Games or simulations where the first step must always be executed
Example 3: Input Until User Types 'exit'
This example keeps asking for input until the user types 'exit'.
import java.util.Scanner;
public class InputLoop {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input;
do {
System.out.print("Enter a command (type 'exit' to quit): ");
input = scanner.nextLine();
} while (!input.equalsIgnoreCase("exit"));
System.out.println("Program ended.");
}
}
Enter a command (type 'exit' to quit): hello
Enter a command (type 'exit' to quit): test
Enter a command (type 'exit' to quit): exit
Program ended.
Best Practices
- Use
do-while
when the block must execute at least once. - Be cautious with conditions to avoid infinite loops.
- Keep logic simple and avoid deeply nested
do-while
loops.
Comparison with while
Loop
Feature | while |
do-while |
---|---|---|
Condition checked | Before executing block | After executing block |
Guaranteed execution? | No | Yes (at least once) |
Comments
Loading comments...