Pour l'instruction while, si la condition n'est pas remplie, la boucle ne peut pas être entrée. Mais parfois, nous devons l’exécuter au moins une fois même si les conditions ne sont pas remplies.
La boucle do...while est similaire à la boucle while, sauf que la boucle do...while sera exécutée au moins une fois.
do { //instruction de code} while (expression booléenne);
L'instruction de boucle do..while est également appelée instruction de boucle post-test. Sa méthode d'exécution répétitive en boucle utilise également une condition pour contrôler s'il faut continuer à exécuter l'instruction à plusieurs reprises. La différence avec la boucle while est qu'elle exécute d'abord l'instruction de boucle une fois, puis détermine si elle doit continuer l'exécution. Par exemple, le calcul de la somme de tous les entiers compris entre 1 et 100 peut également être réalisé à l'aide de l'instruction de boucle do...while. Le code spécifique est le suivant :
int sum=0;int i=1;do{sum+=i;i++;} while (i<=100);System.out.println("La somme de tous les entiers compris entre 1 et 100 est : "+sum);
Le processus d'exécution de l'instruction de boucle do...while est le suivant : exécutez d'abord le corps de la boucle une fois, puis jugez l'expression conditionnelle si la valeur de l'expression conditionnelle est vraie, continuez l'exécution, sinon sortez de la boucle. En d’autres termes, le corps de la boucle dans l’instruction de boucle do... while est exécuté au moins une fois.
Remarque : L'expression booléenne se trouve après le corps de la boucle, le bloc d'instructions a donc été exécuté avant de tester l'expression booléenne. Si l’expression booléenne est évaluée à vrai, le bloc d’instructions est exécuté jusqu’à ce que l’expression booléenne soit évaluée à faux.
Exemple
public class Test { public static void main(String args[]){ int x = 10; do{ System.out.print("valeur de x : " + x x++; ); }pendant( x < 20 );
Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants :
valeur de x : 10valeur de x : 11valeur de x : 12valeur de x : 13valeur de x : 14valeur de x : 15valeur de x : 16valeur de x : 17valeur de x : 18valeur de x : 19