While loop

In computer science, a while loop is a statement which is used to execute code repeatedly based on a condition. Simply, it can be thought of as a repeating if statement.  

Overview

The while loop consists of two parts: the condition and a block of code. The condition is evaluated and if it is true, the block of code is executed. This repeats until the condition evaluates to false. As a pre-test loop, the while loop checks the condition before the block is executed. In contrast, the do-while loop checks the condition after the loop has executed. A while loop would typically be used when you don't know the number of times you would like to loop over the block of code. Instead, code would continue looping until a particular condition is met. When the number of times a loop is to be executed is already known before the execution of the loop, a for loop would be a better choice.

A template of a while loop is shown below:<syntaxhighlight lang="c"> while (condition) {

  statements;

} </syntaxhighlight>

Example

Example code in the C programming language is shown below.
<syntaxhighlight lang="c"> int x = 0; while (x < 5) {

   printf ("x = %d\n", x);
   x++;

} </syntaxhighlight>In this example, the loop first checks to see if the variable x is less than 5. Because it is, it will enter the loop, printing the value of x and then increment x by 1. After completing the code block, it will continue to repeat the code block until x is equal to 5. When x is equal to five, the condition evaluates to false and the code exits the while loop.

A loop that continues repeating forever is possible if the condition is always true. When this happens, it is up to the developer to create a statement to exit the loop. An example of this is shown below:  <syntaxhighlight lang="c"> while (true) {

   //do complicated stuff
   if (someCondition) break;
   //more stuff

} </syntaxhighlight>In the above example, the condition while always be true. To exit the loop, a break statement is used when a specific condition inside the loop evaluates to true.