1. Boucle inversée

Java a un autre type de whileboucle — la do-whileboucle. Elle est très similaire à la whileboucle ordinaire et se compose également de seulement deux parties : une "condition" et un "corps de boucle". Le corps de la boucle est exécuté encore et encore tant que la condition est true. En général, une do-whileboucle ressemble à ceci :

do
   statement;
while (condition);

ou

do
{
   block of statements
}
while (condition);

Pour une whileboucle, la séquence d'exécution est : condition , corps de la boucle , condition , corps de la boucle , condition , corps de la boucle , ...

Mais pour une do-whileboucle, c'est un peu différent : loop body , condition , loop body , condition , loop body , ...

En fait, la seule différence entre une whileboucle et do-whileune boucle est le fait que le corps de la boucle est exécuté au moins une fois pour une do-whileboucle.


2. Avantages de l'utilisation d'une do-whileboucle

Fondamentalement, la seule différence entre une do-whileboucle et une whileboucle est que le corps d'une do-whileboucle est exécuté au moins une fois.

Généralement, une do-whileboucle est utilisée lorsqu'il est inutile de vérifier la condition de la boucle si le corps de la boucle n'a pas été exécuté. Par exemple, si certains calculs sont effectués dans le corps de la boucle puis utilisés dans la condition .

Exemple:

Le programme lit les lignes du clavier jusqu'à ce que le mot exitsoit saisi

alors que faire pendant
String s;
while (true)
{
   s = console.nextLine();
   if (s.equals("exit"))
      break;
}
String s;
do
{
   s = console.nextLine();
}
while (!s.equals("exit"));

Les instructions breaket continuedans une do-whileboucle fonctionnent de la même manière que dans une whileboucle.


3. Comparer do-whiledes boucles : Java vs Pascal

Encore une fois, Pascal a un analogue de la do-whileboucle, mais cela s'appelle une repeat-untilboucle. De plus, il est légèrement différent de la do-whileboucle. Dans une repeat-untilboucle, la condition indique quand sortir de la boucle plutôt que quand la continuer.

Exemples:

Pascal Java
 
Repeat
   ReadLn(s);
Until s = 'exit';
 
String s;
do {
   s = console.nextLine();
}
while ( !s.equals("exit") );

Comparé à Java, la façon dont Pascal représente cela est carrément magnifique. Il faut partir des exemples de Pascal, sinon tu vas rire.