7.10. Flow Control in Java: The while Loop

Flow control is one of the fundamental concepts in any programming language, allowing programs to make decisions and repeat actions. In Java, flow control structures include conditional statements like if and else, multiple selection like switch, and loops like for , do-while and while. In this chapter, we will focus specifically on the while loop, a powerful tool for performing iterations based on a condition.

The Basics of the While Loop

The while loop is a repetition structure that executes a block of code while a specified condition is true (true). The basic syntax of the while loop is as follows:

while (condition) {
    // Block of code to be repeated
}

The condition inside the parentheses is evaluated before each iteration of the loop. If the condition is true, the block of code inside the curly braces is executed. After executing the code block, the condition is evaluated again. This process repeats until the condition is false (false), at which point the loop ends and the program flow continues with the next statement after the loop.

Example of Using the While Loop

Let's consider a simple example where we want to print the numbers from 1 to 5:

int counter = 1;
while (counter <= 5) {
    System.out.println(counter);
    counter++;
}

In this example, the variable counter is initialized with the value 1. The condition counter <= 5 is true, therefore the code block inside the loop is executed , printing the current value of counter and incrementing it by 1. This process repeats until counter is greater than 5, at which point the condition becomes false and the loop ends.

Important Considerations

It is crucial to ensure that the while loop condition eventually becomes false; otherwise, you will create an infinite loop, which will cause your program to run indefinitely (or until it is forced to terminate). This is usually the result of a condition that never changes or a logic error.

While Loop with Additional Flow Control

Within a while loop, you can use other flow control structures to create more complex logic. For example, you can have a if inside a while to perform certain actions only under specific conditions:

int counter = 1;
while (counter <= 10) {
    if (counter % 2 == 0) {
        System.out.println(counter + " is even.");
    } else {
        System.out.println(counter + " is odd.");
    }
    counter++;
}

In this example, the while loop iterates from 1 to 10, but inside the loop, there is an if statement that checks whether the current number is even or odd, printing an appropriate message.

Intentional Infinite Loop with while

In some cases, you may want to create a loop that runs continuously until an external action occurs, such as user input or a system event. To do this, you can use a while loop with a condition that is always true:

while (true) {
    // Code that waits for some external action to continue
}

To break out of an infinite loop, you can use the break statement inside a if condition to end the loop when a specific condition is met.

Comparison with Other Loops

The while loop is similar to the do-while loop, with the difference that in the do-while loop, the code block is executed at least once before the condition is evaluated, ensuring that the block of code inside the loop is executed at least once, even if the condition is false from the beginning. In contrast, the for loop is generally used when the number of iterations is known in advance.

Conclusion

The while loop is an essential tool in a Java programmer's toolbox, offering a flexible means of repeating actions based on dynamic conditions. Understanding how and when to use the while loop, along with other flow controls, is critical to writing efficient and logical programs. Always remember to ensure that your loop condition will eventually become false to avoid unwanted infinite loops and ensure that your program works as expected.

Now answer the exercise about the content:

_Which of the following statements about the `while` loop in Java is correct?

You are right! Congratulations, now go to the next page

You missed! Try again.

Article image Flow control (if, else, switch, loops): Do-while loop 50

Next page of the Free Ebook:

Flow control (if, else, switch, loops): Do-while loop

Estimated reading time: 5 minutes

Download the app to earn free Certification and listen to the courses in the background, even with the screen off.

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text