Skip to main content
Documents
Java keywordsIntroduction To JavaJava File HandlingJava Language BasicsJava ArraysJava Object-Oriented Programming

do Keyword in Java

The do keyword in Java is used to create a do-while loop. This type of loop will execute a block of code at least once before checking a condition to determine whether to repeat the loop. The do-while loop is useful when you need to ensure that the loop body is executed at least once, regardless of the condition.

Usage

The do-while loop is structured to execute a block of code, then evaluate a boolean condition. If the condition is true, the loop will repeat; if false, the loop will terminate.

Syntax

do {
    // code block to be executed
} while (condition);
  • code block: The statements to be executed.
  • condition: The boolean expression that is evaluated after each iteration. If true, the loop continues; if false, the loop stops.

Examples

Example 1: Basic do-while Loop

public class DoWhileExample {
    public static void main(String[] args) {
        int count = 0;
        do {
            System.out.println("Count is: " + count);
            count++;
        } while (count < 5);
    }
}

In this example, the do-while loop prints the value of count and increments it by 1. The loop continues as long as count is less than 5.

Example 2: User Input Validation

import java.util.Scanner;

public class InputValidation {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int number;
        do {
            System.out.print("Enter a number between 1 and 10: ");
            number = scanner.nextInt();
        } while (number < 1 || number > 10);
        System.out.println("You entered: " + number);
    }
}

This example uses a do-while loop to repeatedly prompt the user to enter a number between 1 and 10 until a valid number is entered.

Example 3: Menu Selection

import java.util.Scanner;

public class MenuExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int choice;
        do {
            System.out.println("Menu:");
            System.out.println("1. Option 1");
            System.out.println("2. Option 2");
            System.out.println("3. Exit");
            System.out.print("Enter your choice: ");
            choice = scanner.nextInt();
        } while (choice != 3);
        System.out.println("Exiting the menu.");
    }
}

In this example, a do-while loop is used to display a menu and process user input until the user chooses to exit by selecting option 3.

Tips and Best Practices

  • Ensure Termination: Always ensure that the condition will eventually become false to avoid infinite loops.
  • Initialization: Properly initialize variables used in the loop condition to avoid unexpected behavior.
  • Use When Necessary: Prefer do-while loops when the code block must execute at least once. For other cases, consider using a while loop.
  • Readability: Keep the loop body concise and readable. If the loop body is complex, consider refactoring the code into separate methods.
  • Debugging: When debugging, verify that the loop condition and the statements inside the loop are functioning as expected to prevent logical errors.
// Example of refactoring for readability
do {
    performTask();
} while (shouldContinue());

private static void performTask() {
    // Task implementation
}

private static boolean shouldContinue() {
    // Condition check implementation
    return false; // Example condition
}

Execution Flow

  1. Initialization: The variables used in the loop condition should be initialized before the do-while loop.
  2. Code Block Execution: The code block inside the do statement executes at least once.
  3. Condition Evaluation: After executing the code block, the condition specified in the while statement is evaluated.
  4. Repeat or Terminate: If the condition is true, the loop repeats from step 2. If false, the loop terminates.

Common Pitfalls

  • Infinite Loops: Ensure that the loop condition will eventually become false to avoid infinite loops.
  • Logic Errors: Verify that variables are correctly updated within the loop to meet the exit condition.
  • Input Handling: When using loops for input validation, handle potential input errors gracefully to avoid exceptions.

Learn Java Essentials

Build your Java skills from the ground up and master programming concepts.
Start Learning Java for Free