Chargement...

Boucles while en Java

Placez le nombre entier 1 sous le nom k avant toute boucle. Écrivez while (k <= 3), et à l'intérieur des accolades affichez k puis stockez k + 1 de nouveau dans k. L'écran doit montrer trois lignes : 1, puis 2, puis 3. Le début vit au-dessus du while. Le test vit dans les parenthèses. Le pas vit dans les accolades. Cette séparation est ce que cette page enseigne.

Début à l'extérieur, test dans while, pas à l'intérieur

Créez un petit fichier de programme nommé Pulse.java. La public class de la première ligne doit correspondre au nom du fichier : public class Pulse. Ne laissez pas une ancienne classe Beat ou Dial dans ce fichier ; le compilateur attend que le nom de classe et le nom de fichier concordent.
Dans main, stockez d'abord le compteur :
int k = 1;
Cette ligne n'est pas à l'intérieur du while. Elle démarre seulement k à 1. Ensuite la boucle :
while (k <= 3) {
System.out.println(k);
k = k + 1;
}
Le mot while est en minuscules. À l'intérieur des parenthèses siège uniquement le test : k <= 3. Il n'y a ni début ni pas dans ces parenthèses — contrairement à la ligne for que vous avez vue plus tôt. Les accolades tiennent à la fois la ligne d'écriture et le pas. System.out.println(k); écrit le nombre actuel sans guillemets autour de k. Puis k = k + 1; stocke un de plus sous k pour que le prochain test puisse finalement devenir faux. Enregistrez le fichier avant de compiler.

Programme qui affiche 1 puis 2 puis 3

Voici la version que vous compilez en premier.

k de 1 à 3

java
public class Pulse {
    public static void main(String[] args) {
        int k = 1;
        while (k <= 3) {
            System.out.println(k);
            k = k + 1;
        }
    }
}

Depuis le dossier qui contient Pulse.java, lancez javac Pulse.java. Quand les parenthèses, les accolades et les points-virgules concordent, javac n'écrit aucune ligne de lui-même. Ensuite lancez java Pulse — pas java Pulse.java. Laissez de côté l'extension .java sur la deuxième commande. Les deux mêmes commandes fonctionnent sous Windows et sous macOS ; cette page ne dépend pas d'une orthographe d'interpréteur différente pour l'un ou l'autre système. Le programme doit afficher trois lignes et s'arrêter : 1, puis 2, puis 3. Il ne doit pas attendre que vous tapiez. Si le terminal attend une saisie clavier, un appel nextLine d'un exercice plus ancien est encore dans le fichier. Supprimez cet appel et gardez l'int plus le while ci-dessus. Une mauvaise ligne à l'écran ne signifie pas que vous devez réinstaller le JDK.

Parcourez une exécution complète dans l'ordre. k démarre à 1 avant le while. Le test k <= 3 est vrai, donc le corps s'exécute : println écrit 1, puis le pas stocke 2. Le test est encore vrai : écrit 2, stocke 3. Le test est encore vrai : écrit 3, stocke 4. Maintenant k <= 3 est faux, donc la boucle se termine. Le début s'est exécuté une fois, au-dessus de la boucle. Le test s'est exécuté avant chaque passage. Le pas s'est exécuté à l'intérieur des accolades après chaque affichage. Ces trois tâches sont les mêmes idées que dans for, mais elles ne sont pas regroupées sur une seule ligne d'en-tête. Si vous omettez k = k + 1; et laissez k à 1 pour toujours, le test reste vrai et la même ligne peut s'afficher sans s'arrêter — ce cas sans fin est pourquoi le pas appartient au corps sur cette page.

Élargissez le test

Changez uniquement le test pour que la boucle aille un cran plus loin :
int k = 1;
while (k <= 4) {
System.out.println(k);
k = k + 1;
}
Laissez le début et le pas tels quels. Maintenant l'écran doit montrer quatre lignes : 1, 2, 3 et 4.

k de 1 à 4

java
public class Pulse {
    public static void main(String[] args) {
        int k = 1;
        while (k <= 4) {
            System.out.println(k);
            k = k + 1;
        }
    }
}

Compilez et lancez à nouveau : javac Pulse.java, puis java Pulse. Vous devez voir quatre lignes. Vous n'avez pas réécrit le println ni le pas — seul le test à l'intérieur de while (…) a changé. Après avoir vu quatre lignes, vous pouvez remettre k <= 3 pour revenir à la première démo. Les deux versions sont du Java valide. Elles enseignent la même forme de while avec un point d'arrêt différent.

Relisez une fois l'exécution à quatre lignes. k démarre à 1. Chaque test vrai affiche le k actuel puis ajoute 1. Quand k devient 5, le test échoue et la boucle s'arrête. Le chiffre 5 n'apparaît jamais à l'écran dans cette démo, parce que le corps ne s'exécute que tant que le test est encore vrai.

📊 k et l'écran de la première démo

k avant println Ligne d'écran
1 1
2 2
3 3

Utilisez le tableau comme contrôle après la première démo, pas à la place d'une exécution. Avant chaque println dans cette démo, k détient le nombre qui apparaîtra sur cette ligne. Après le troisième affichage, le pas stocke 4 et le test échoue. Si l'écran ne s'arrête jamais sur une version sans pas, remettez k = k + 1; à l'intérieur des accolades — ne réinstallez pas Java.

Règles qui gardent while clair

Les parenthèses autour du test sont obligatoires. Écrire while k <= 3 { … } sans parenthèses fait échouer javac. Le corps sur cette page reste toujours dans des accolades, parce que deux lignes appartiennent à chaque passage : le println et le pas. Si vous laissez le pas après l'accolade fermante, il s'exécute une fois après la fin de la boucle — et à l'intérieur de la boucle k ne change jamais, donc la boucle peut tourner indéfiniment. Gardez le pas à l'intérieur des accolades dans les deux démos.

while n'est ni for ni switch. for regroupe début, test et pas sur une seule ligne d'en-tête. while garde le test seul dans son en-tête et vous demande de placer le début et le pas vous-même. switch choisit une fois parmi des étiquettes case. Ne laissez pas une boucle for Beat ou un switch Dial dans le même main et ne vous étonnez pas si l'écran montre un en-tête de style for restant ou le mot mid. Le main de cette session ne doit contenir que l'int et le while.

Une confusion courante est d'imprimer la syntaxe elle-même : System.out.println("while (k <= 3)");. Cela écrit les caractères de l'en-tête while. Cela ne répète pas. Une autre confusion est de mettre des guillemets autour de k : System.out.println("k"); écrit la lettre k à chaque passage. Gardez println(k) sans guillemets quand vous voulez le compteur à l'écran. Si le test est déjà faux quand le while est atteint pour la première fois — par exemple k démarre à 5 et le test dit k <= 3 — le corps ne s'exécute jamais et l'écran reste vide. C'est encore un while valide ; les démos de cette leçon gardent un test vrai au moins une fois pour que vous puissiez voir les lignes affichées.

Ce que vous pouvez faire maintenant

Vous pouvez démarrer un compteur au-dessus de while, placer un test dans while (…), et garder à la fois le println et le pas à l'intérieur des accolades. Changer le test change le nombre de lignes que vous obtenez. La page suivante est break et continue, où vous quittez une boucle plus tôt ou sautez un passage sans terminer toute la boucle.

🧠 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

❓
6
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