vignette|Boucle while
En programmation, la boucle while, francisée en boucle tant que, est une structure de contrôle permettant d'exécuter un ensemble d'instructions de façon répétée sur la base d'une condition booléenne. La boucle while peut être considérée comme une répétition de l'instruction if.
Une boucle while est constituée d’un bloc de code source et d’une condition. À l’exécution, la condition est d’abord évaluée, et si elle est vraie, le bloc de code source est évalué. L'exécution du code est ensuite répétée jusqu’à ce que la condition soit fausse.
Par exemple, en langage C (tout comme en Java, C#, Objective-C et C++, qui utilisent tous la même syntaxe dans ce cas), le bloc de code source suivant
int x = 0;
while (x < 5)
{
printf ("x = %d\n", x);
x++;
}
//affiche :
//x = 0
//x = 1
//x = 2
//x = 3
//x = 4
vérifie d’abord que x est strictement inférieur à 5. Comme c’est le cas, le corps de la boucle à répéter est exécuté, où la fonction printf est appelée et où x est incrémenté de 1. Après avoir exécuté toutes les instructions de l’intérieur de la boucle, la condition est de nouveau évaluée, et si elle est toujours vraie, le corps de la boucle est de nouveau exécuté. Ceci se répète jusqu’à ce que la condition devienne fausse, c'est-à-dire lorsque x devient égal à 5.
Il est à noter qu’il est possible, et dans certains cas voulu, que la condition soit toujours vraie, créant une boucle infinie. Quand une telle boucle est créée volontairement, il y a généralement une autre instruction (comme un break) qui contrôle la sortie de la boucle. Par exemple :
while (true)
{
// faire des choses compliquées
if (condition) break;
// faire d’autres choses
}
Ici, lorsque la condition évaluée dans le if devient vraie, l'instruction break est exécutée, forçant la sortie de la boucle quelle que soit la valeur du booléen évalué par la boucle (ici, true, qui est toujours vrai).
Avec la syntaxe détaillée ci-avant, il est possible de ne pas du tout exécuter la boucle si la condition est fausse lors de sa première évaluation.