« J'aimerais te parler d'une autre boucle. La boucle for. C'est juste une autre façon d'exprimer une boucle while, mais en plus compact et pratique (pour les programmeurs). Voici quelques exemples : »

while
int i = 3;
while (i >= 0)
{
    System.out.println(i);
    i--;
}
for
for (int i = 3; i >= 0; i--)
{
    System.out.println(i);
}
while
int i = 0;
while (i < 3)
{
    System.out.println(i);
    i++;
}
for
for (int i = 0; i < 3; i++)
{
    System.out.println(i);
}
while
boolean isExit = false;
while (!isExit)
{
    String s = buffer.readLine();
    isExit = s.equals("exit");
}
for
for (boolean isExit = false; !isExit; )
{
    String s = buffer.readLine();
    isExit = s.equals("exit");
}
while
while (true)
    System.out.println("C");
for
for (; true; )
    System.out.println("C");
while
while (true)
{
    String s = buffer.readLine();
    if (s.equals("exit"))
        break;
}
for
for (; true; )
{
    String s = buffer.readLine();
    if (s.equals("exit"))
        break;
}

« Hein ? »

« Ces boucles sont équivalentes. Une boucle while contient une seule condition entre parenthèses, alors qu'il y a trois éléments dans une instruction de boucle for. Mais le compilateur transforme notre boucle for en son équivalent pour while. »

« La première expression dans une boucle for (surlignée en vert) est exécutée une seule fois avant que la boucle commence. »

« La deuxième expression est évaluée chaque fois avant que le corps de la boucle s'exécute. C'est l'équivalent de la condition d'une boucle while. »

« La troisième expression est évaluée après chaque exécution du corps de la boucle. »

« Pourquoi avons-nous besoin d'une autre boucle ? Tout est parfaitement clair avec la boucle while. »

« C'est pour la commodité des programmeurs. Les boucles sont très fréquentes en programmation. Il est utile d'avoir, sur une même ligne, des informations sur la valeur initiale du compteur de la boucle, la condition de sortie et l'expression d'incrément. »