Chargement...

Boucles while

int k = 1; range 1 avant toute boucle. Ensuite while (k <= 3) continue tant que ce test est true. À l'intérieur des accolades, Console.WriteLine(k) écrit le nombre courant, et k = k + 1 range un de plus sous k. L'écran montre trois lignes : 1, puis 2, puis 3. Gardez la classe publique nommée Pine.

Départ dehors, test dans while, pas à l'intérieur

Ouvrez le fichier Pine. Le nom de la classe reste Pine. Cette page ne renomme pas le type. Supprimez toute boucle for si cette ligne est encore là, y compris for (int n = 1; n <= 3; n = n + 1) et chaque départ-test-pas regroupés dans une seule ligne d'en-tête. Supprimez int choice si cette ligne est encore là. Supprimez toute ligne ReadLine. Le fichier que vous gardez n'attend pas de saisie, n'a pas d'en-tête for avec trois tâches entre parenthèses, et n'a pas de switch. L'écran n'est écrit que par la ligne d'écriture à l'intérieur des accolades du while.

Dans Main, rangez d'abord le compteur : int k = 1;. Cette ligne n'est pas dans le while. Elle démarre seulement k à 1. Ensuite la boucle :
while (k <= 3) {
Console.WriteLine(k);
k = k + 1;
}
Le mot while est en minuscules. À l'intérieur des parenthèses se trouve seulement le test : k <= 3. Il n'y a ni départ ni pas dans ces parenthèses — contrairement à la ligne for vue plus tôt. Les accolades tiennent à la fois la ligne d'écriture et le pas. Console.WriteLine(k); écrit le nombre courant sans guillemets autour de k. Puis k = k + 1; range un de plus sous k pour que le prochain test puisse enfin devenir false. Enregistrez le fichier.

Le fichier que vous gardez

Gardez cette forme d'enseignement. Une ligne de rangement au-dessus de la boucle, int k = 1;. Un while avec des parenthèses autour du test seulement. Une ligne d'écriture dans les accolades. Un pas dans les accolades, k = k + 1;. Il n'y a pas d'en-tête for, pas de compteur n de la page précédente, et pas de guillemets autour de k.

k from 1 to 3

csharp
using System;

public class Pine
{
    public static void Main()
    {
        int k = 1;
        while (k <= 3)
        {
            Console.WriteLine(k);
            k = k + 1;
        }
    }
}

Lisez depuis le haut. using System; prépare les noms courts. public class Pine nomme le type. public static void Main() est l'endroit où l'exécution démarre. int k = 1; range 1. while (k <= 3) pose le test. Console.WriteLine(k); écrit le k courant. k = k + 1; avance le compteur. Trois lignes à l'écran : 1, puis 2, puis 3. Il n'y a pas de ligne for dans le fichier que vous gardez.

Exécutez avec dotnet run. Le programme écrit trois lignes et s'arrête. Il n'attend pas que vous tapiez. Le compteur et le while étaient déjà dans le fichier. Si dotnet run attend, ReadLine est encore dans le fichier. Supprimez cette ligne et gardez int k = 1; et le while ci-dessus. L'écran montre 1, puis 2, puis 3. Si l'écran ne s'arrête jamais et continue d'écrire 1, le pas manque dans les accolades. Remettez k = k + 1; à l'intérieur. Si l'écran montre une exécution restante de style for, supprimez l'en-tête for. Si l'écran montre la lettre k à chaque ligne, la ligne d'écriture a des guillemets : Console.WriteLine("k");. Vous ne réinstallez pas le kit SDK .NET pour un écran qui montre les mauvaises lignes.

Parcourez une exécution complète dans l'ordre. k démarre à 1 avant le while. Le test k <= 3 est true, donc le corps s'exécute : la ligne d'écriture écrit 1, puis le pas range 2. Le test est encore true : écrit 2, range 3. Le test est encore true : écrit 3, range 4. Maintenant k <= 3 est false, donc la boucle se termine. Le départ 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é dans les accolades après chaque écriture. Ces trois tâches sont les mêmes idées que dans for, mais elles ne sont pas regroupées dans une seule ligne d'en-tête. Si vous omettez k = k + 1; et laissez k à 1 pour toujours, le test reste true et la même ligne peut s'écrire sans s'arrêter — ce cas sans fin est la raison pour laquelle le pas appartient au corps sur cette page.

Élargissez le test

Changez seulement le test pour que la boucle aille un cran plus loin : while (k <= 4). Laissez le départ et le pas tels quels. Maintenant l'écran doit montrer quatre lignes : 1, 2, 3, et 4.

k from 1 to 4

csharp
using System;

public class Pine
{
    public static void Main()
    {
        int k = 1;
        while (k <= 4)
        {
            Console.WriteLine(k);
            k = k + 1;
        }
    }
}

C'est le second fichier. Ce n'est pas le fichier que vous gardez. Exécutez dotnet run. L'écran montre quatre lignes. Vous n'avez pas réécrit la ligne d'écriture ni le pas — seul le test à l'intérieur de while (…) a changé. Après avoir vu quatre lignes, remettez le fichier gardé : k <= 3 et le même corps. Les deux versions sont du C# valide. Elles enseignent la même forme while avec un point d'arrêt différent.

Relisez l'exécution à quatre lignes une fois encore. k démarre à 1. Chaque test true écrit le k courant 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 true.

📊 k and the first demo screen

k before WriteLine Screen line
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 ligne d'écriture dans cette démo, k tient le nombre qui apparaîtra sur cette ligne. Après la troisième écriture, le pas range 4 et le test échoue. Si l'écran ne s'arrête jamais sur une version sans pas, remettez k = k + 1; dans les accolades — ne réinstallez pas le kit SDK .NET.

Règles qui gardent while clair

Les parenthèses autour du test sont obligatoires. Écrire while k <= 3 { … } sans parenthèses fait écrire une erreur au build. Le corps sur cette page se place toujours dans des accolades, parce que deux lignes appartiennent à chaque passage : la ligne d'écriture 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 sans fin. Gardez le pas dans les accolades dans les deux démos.

while n'est pas for et n'est pas switch. for regroupe départ, test et pas dans une seule ligne d'en-tête. while garde le test seul dans son en-tête et vous demande de placer le départ et le pas vous-même. switch choisit une fois parmi des étiquettes case. Ne laissez pas une boucle for ou un switch dans le même Main en vous demandant pourquoi l'écran montre un reste d'en-tête de style for ou le mot mid. Le Main de cette session ne doit porter que le int et le while.

Une confusion courante est d'écrire la syntaxe elle-même : Console.WriteLine("while");. Cela écrit les caractères while. Cela ne répète pas. Une autre confusion est de mettre des guillemets autour de k : Console.WriteLine("k"); écrit la lettre k à chaque passage. Gardez Console.WriteLine(k) sans guillemets quand vous voulez le compteur à l'écran. Si le test est déjà false 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 true au moins une fois pour que vous voyiez les lignes écrites.

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

L'écran est le compteur qui change

Le fichier que vous gardez écrit 1, puis 2, puis 3. Le nom k est sur la ligne d'écriture, et la lettre k n'est pas à l'écran. Le départ est au-dessus du while, et il n'est pas à l'écran. Des guillemets autour de k ou autour de while écrivent des lettres, pas le chemin du compteur.

🧠 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