Chargement...

Boucle while

Avec for, démarrage, condition et mise à jour tiennent dans une seule en-tête. Parfois vous ne savez que la règle « continuer tant que c'est vrai » — et le compteur change au milieu du travail. while regarde d'abord une condition, exécute le corps, vérifie encore. Même idée de répétition ; autre forme sur la page.

Que fait while ?

Tant que l'expression entre parenthèses reste vraie, le bloc { } recommence. Pas d'emplacement séparé pour l'init ou la mise à jour dans l'en-tête. Vous préparez les variables avant la boucle et les modifiez dans le corps jusqu'à ce que la condition devienne fausse. Alors la boucle s'arrête et l'instruction suivante s'exécute.

while, for et do...while en un coup d'œil

📊 Formes de boucle du quotidien

Forme Quand ça convient Vérification
while continuer tant qu'une règle tient ; mise à jour dans le corps avant chaque tour
for démarrage, arrêt et pas déjà clairs avant chaque tour (en-tête en trois parties)
do...while le corps doit tourner au moins une fois après chaque tour

Les while débutants utilisent encore souvent un petit compteur. La différence est l'endroit : let i = 0 avant la boucle, i++ (ou un autre changement) entre les accolades. Si vous ne changez jamais ce que lit la condition, la boucle peut ne jamais finir.

Comptage simple avec while

javascript
let i = 0;
while (i < 5) {
console.log(i);
i++;
}

Compter avec while

i commence à 0 avant la boucle. Chaque tour affiche i puis ajoute un. Vous voyez 0…4 — cinq tours. La valeur 5 ne s'affiche pas car la condition échoue d'abord. Sans i++ dans le corps, i resterait à 0 pour toujours.

Lisez un tour lentement : condition → corps (avec la mise à jour) → condition encore. C'est pourquoi oublier la mise à jour est le piège classique de la boucle infinie avec while.

Journaliser une étape claire

javascript
let n = 1;
while (n <= 3) {
console.log("step " + n);
n++;
}

Partir de 1 avec des libellés clairs

Ici le compteur part de 1 et la condition utilise n <= 3 ; vous voyez step 1, step 2, step 3. Partir de 0 ou 1 est un choix de conception — alignez la condition, comme avec for.

Somme avec while

javascript
let total = 0;
let k = 1;
while (k <= 4) {
total = total + k;
k++;
}
console.log(total);

Accumuler un total

total commence à 0. Chaque tour ajoute le k courant puis avance k. Après 1+2+3+4, total vaut 10. Le résultat qui grandit vit hors de la boucle ; le compteur qui mène la condition, à côté.

Compte à rebours avec while

javascript
let left = 3;
while (left > 0) {
console.log("left=" + left);
left--;
}
console.log("done");

Compter à rebours jusqu'à l'arrêt

Toutes les boucles ne montent pas seulement. Celle-ci affiche left=3, left=2, left=1, puis done. Diminuer le compteur reste une mise à jour honnête — tout changement qui mène vers la fin convient.

do...while au moins une fois

javascript
let x = 0;
do {
console.log("tick " + x);
x++;
} while (x < 1);
console.log("after=" + x);

do...while exécute le corps d'abord

do...while exécute le corps une fois, puis vérifie. Même si la condition serait déjà fausse pour un while normal, le premier tour a lieu. Ici vous voyez tick 0, puis after=1. Utilisez-le quand l'histoire est « essayer une fois, puis éventuellement répéter ».

Afficher le résultat de while sur la page

Faites un court comptage avec while, construisez un message, écrivez-le dans la page.

Comptage page avec while

html
<!DOCTYPE html>
<html>
<head>
<title>While — page count</title>
</head>
<body>
<p id="out">…</p>
<script>
let msg = "";
let i = 1;
while (i <= 4) {
msg = msg + i + " ";
i++;
}
let box = document.getElementById("out");
box.textContent = "count=" + msg.trim();
</script>
</body>
</html>

La page montre count=1 2 3 4. Changez la borne haute, rechargez, lisez la nouvelle liste. Préférez for quand le plan en trois parties est évident ; préférez while quand la règle d'arrêt est une seule condition avec mise à jour dans le corps. Ensuite : parcourir valeurs et clés avec for...of et for...in.

À vous d'essayer

  1. Écrivez un while qui journalise 0…4 avec i < 5 et i++ dans le corps.
  2. Modifiez-le pour journaliser 1…5 avec i <= 5.
  3. Additionnez 1…5 dans total avec while et journalisez le résultat.
  4. Comptez à rebours de 5 à 1, puis journalisez done.
  5. Écrivez un do...while qui affiche une ligne même si la condition commence fausse.
  6. Dans la démo HTML, changez seulement la borne, rechargez, lisez count=.

Erreurs fréquentes

  • Oublier la mise à jour du corps pour que la condition ne soit jamais fausse (boucle infinie)
  • Décalage d'un : i < 5 au lieu de i <= 5 (ou l'inverse)
  • Choisir do...while alors que zéro tour doit rester possible
  • Mettre la mise à jour au mauvais endroit ou changer une autre variable
  • Un long while quand une en-tête for claire se lirait mieux

Résumé

  • while répète un bloc tant que la condition reste vraie
  • Préparez les variables avant ; mettez-les à jour dans le corps
  • Idéal pour compter, calculer une somme et compter à rebours
  • do...while exécute le corps au moins une fois, puis vérifie
  • Préférez for si démarrage/arrêt/pas sont clairs ; while pour une règle continue
  • Ensuite : for...of et for...in — parcourir valeurs et clés

🧠 Testez Vos Connaissances

Prêt à Commencer

Testez Vos Connaissances

Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet

❓
8
Questions
🎯
70%
Pour Réussir
♾️
∞
Temps
🔄
∞
Tentatives

📝 Instructions

  • Lisez chaque question attentivement
  • Sélectionnez la meilleure réponse pour chaque question
  • Vous pouvez refaire le quiz autant de fois que vous le souhaitez
  • Votre progression sera affichée en haut