In most computer programming languages, a while loop is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition. The while loop can be thought of as a repeating if statement.
Video While loop
Overview
The while construct consists of a block of code and a condition/expression. The condition/expression is evaluated, and if the condition/expression is true, the code within the block is executed. This repeats until the condition/expression becomes false. Because the while loop checks the condition/expression before the block is executed, the control structure is often also known as a pre-test loop. Compare this with the do while loop, which tests the condition/expression after the loop has executed.
For example, in the C programming language (as well as Java, C#, Objective-C, and C++, which use the same syntax in this case), the code fragment
first checks whether x is less than 5, which it is, so then the {loop body} is entered, where the printf function is run and x is incremented by 1. After completing all the statements in the loop body, the condition, (x < 5), is checked again, and the loop is executed again, this process repeating until the variable x has the value 5.
Note that it is possible, and in some cases desirable, for the condition to always evaluate to true, creating an infinite loop. When such a loop is created intentionally, there is usually another control structure (such as a break statement) that controls termination of the loop. For example:
Maps While loop
Equivalent constructs
In the C programming language,
is equivalent to
or
or
or
Those last two are not recommended because the use of "goto" statements makes it hard for a programmer to understand the flow of control, and is generally regarded as a last resort.
Also, in C and its descendants, a while loop is a for loop with no initialization or counting expressions, i.e.,
Demonstrating while loops
These while loops will calculate the factorial of the number 5:
ActionScript 3
Ada
Microsoft Small Basic
Visual Basic
Bourne (Unix) shell
- include <stdio.h>
int main() {
int i=10; while (i==10); { printf("%d",i); i++; }
}
Fortran
Java, C#, D
The code for the loop is the same for Java, C# and D:
For Java the result is printed as follows:
The same in C#
And finally in D
JavaScript
Lua
MATLAB
Mathematica
Oberon, Oberon-2 (programming language), Oberon-07, or Component Pascal
Maya Embedded Language
Pascal
Perl
While loops are frequently used for reading data line by line (as defined by the $/
line separator) from open filehandles:
PHP
PL/I
Python
Non-terminating while loop:
Racket
In Racket, as in other Scheme implementations, a named-let is a popular way to implement loops:
Using a macro system, implementing a while loop is a trivial exercise (commonly used to introduce macros):
But note that an imperative programming style is often discouraged in Racket (as in Scheme).
Ruby
Smalltalk
Contrary to other languages, in Smalltalk a while loop is not a language construct but defined in the class BlockClosure
as a method with one parameter, the body as a closure, using self as the condition.
Smalltalk also has a corresponding whileFalse: method.
Swift
Tcl
VEX
Windows PowerShell
While programming language
The While programming language is a simple programming language constructed from assignments, sequential composition, conditionals and while statements, used in the theoretical analysis of imperative programming language semantics.
See also
- Do while loop
- For loop
- Foreach
- LOOP (programming language) - a programming language with the property that the functions it can compute are exactly the primitive recursive functions
References
Source of the article : Wikipedia