while Loops · Boucles while
| English | Français |
|---|---|
| while loop/waɪl luːp/ | boucle while |
| loop control variable/luːp kənˈtrəʊl ˈveərɪəbl/ | variable de contrôle de boucle |
| infinite loop/ˈɪnfɪnət luːp/ | boucle infinie |
Repeat while true
- A while loop 当型循环 repeats its body as long as a condition stays
true. while (i <= 5) { sum = sum + i; i++; }- Before each pass, Java checks the condition; if
false, the loop ends. - Use
whilewhen you don't know in advance how many passes you'll need.
Répéter tant que vrai
- Une boucle while 当型循环 répète son corps tant qu' une condition reste
true. while (i <= 5) { sum = sum + i; i++; }- Avant chaque passage, Java vérifie la condition ; si elle est
false, la boucle se termine. - Utilisez
whilelorsque vous ne savez pas à l'avance combien de passages seront nécessaires.
Test-before-each-pass
- The condition is tested before the body runs each time.
- If it's
falseon the very first check, the body runs zero times. - After each pass, the condition is re-checked before the next.
- This "check, then maybe run" order is worth memorizing.
Test avant chaque passage
- La condition est testée avant que le corps s'exécute à chaque fois.
- S'il est
falselors de la toute première vérification, le corps s'exécute zéro fois. - Après chaque passage, la condition est re-vérifiée avant le suivant.
- Cet ordre « vérifier, puis peut-être exécuter » vaut la peine d'être mémorisé.
The loop control variable
- A loop control variable 循环控制变量 drives progress toward stopping.
- Initialize it before the loop, use it in the condition, and change it inside the body.
istarts at1, the condition checksi <= 5, andi++moves it forward.- Without a change that eventually breaks the condition, the loop never ends.
La variable de contrôle de boucle
- Une variable de contrôle de boucle 循环控制变量 fait progresser l'itération vers l'arrêt.
- Initialisez-la avant la boucle, utilisez-la dans la condition, et modifiez-la à l'intérieur du corps.
icommence à1, la condition vérifiei <= 5, eti++la fait avancer.- Sans modification qui finira par rendre la condition fausse, la boucle ne s'arrêtera jamais.
Infinite loops
- An infinite loop 无限循环 happens when the condition never becomes false.
- Forgetting
i++(or updating the wrong variable) traps the program forever. - The tell: the loop makes no progress toward its stopping condition.
- Always make sure each pass moves the control variable toward the exit.
Boucles infinies
- Une boucle infinie 无限循环 survient lorsque la condition ne devient jamais fausse.
- Oublier
i++(ou mettre à jour la mauvaise variable) piège le programme indéfiniment. - Le signe distinctif : la boucle n'avance pas vers sa condition d'arrêt.
- Assurez-vous toujours que chaque passage rapproche la variable de contrôle de la sortie.
A while checks its condition BEFORE each pass — so it can run zero times. If the condition is already false, the body never runs. And you must change the loop control variable inside the body so the condition eventually turns false; forgetting the update (e.g. no i++) is the classic infinite loop.
Un while vérifie sa condition AVANT chaque passage — il peut donc s'exécuter zéro fois. Si la condition est déjà false, le corps ne s'exécute jamais. Et vous doivent modifier la variable de contrôle de boucle à l'intérieur du corps pour que la condition finisse par devenir false ; oublier la mise à jour (par exemple, absence de i++) est la cause classique d'une boucle infinie.
Summing 1 to 5:
int i = 1, sum = 0;while (i <= 5) { sum = sum + i; i++; }- Passes:
i=1sum=1,i=2sum=3,i=3sum=6,i=4sum=10,i=5sum=15; theni=6fails<= 5→ stop.sumis15.
Somme de 1 à 5 :
int i = 1, sum = 0;while (i <= 5) { sum = sum + i; i++; }- Passages :
i=1sum=1,i=2sum=3,i=3sum=6,i=4sum=10,i=5sum=15 ; puisi=6échoue<= 5→ arrêt.sumest15.
A while loop repeats its body while a condition is true, checking before each pass (so it may run zero times). A loop control variable must be initialized, tested, and updated inside the body so the loop makes progress — forgetting the update causes an infinite loop.
Une boucle while répète son corps tant qu'une condition est true, en vérifiant avant chaque passage (elle peut donc s'exécuter zéro fois). Une variable de contrôle de boucle doit être initialisée, testée, et mise à jour à l'intérieur du corps pour que la boucle progresse ; omettre la mise à jour provoque une boucle infinie.
Summing 1 to 5 with while · Somme de 1 à 5 avec while
Each pass adds i to sum, then i++ moves toward the exit. · Chaque passage ajoute i à sum, puis i++ se rapproche de la sortie.
A while loop checks its condition... · Une boucle while vérifie sa condition...
The condition is tested before each pass, so it can run 0 times. · La condition est testée avant chaque passage, elle peut donc s'exécuter 0 fois.
int i=1, sum=0; while (i<=5){ sum+=i; i++; } What is sum at the end? · int i=1, sum=0; while (i<=5){ sum+=i; i++; } Quelle est la valeur de sum à la fin ?
1+2+3+4+5 = 15.
Forgetting to update the loop control variable inside the body usually causes... · Oublier de mettre à jour la variable de contrôle de boucle à l'intérieur du corps provoque généralement...
With no progress, the condition never becomes false. · Sans progression, la condition ne devient jamais fausse.
If a while condition is false on the first check, the body runs zero times. · Si une condition while est fausse lors du premier test, le corps s'exécute zéro fois.
Test-before-each-pass means it can run 0 times. · Test avant chaque passage signifie qu'il peut s'exécuter 0 fois.
A loop that never stops because its condition never becomes false is an ___ loop (one word). · Une boucle qui ne s'arrête jamais parce que sa condition ne devient jamais fausse est une boucle ___ (un mot).
An infinite loop makes no progress toward stopping. · Une boucle infinie ne progresse pas vers l'arrêt.