La différence principale entre les boucles while et do...while est que la seconde structure effectuera quelque soit la condition initiale, une première itération, soit exécutera une première fois le bloc d'instructions.
La boucle while contient essentiellement comme argument une condition d'arrêt toujours évaluée avant chaque itération.
L'initialisation et l'incrémentation devront être explicitées respectivement avant et à l'intérieur de la boucle.
initialisation; while (condition_booléenne){ bloc d'instructions... incrémentation; } int i = 0; while (i < 10){ System.out.println(i + "\r\n"); i++; }
la boucle do...while contrairement à while... évalue la condition après chaque itération.
initialisation; do{ bloc d'instructions... incrémentation; } while (condition_booléenne); int i = 0; do{ System.out.println(i + "\r\n"); i++; }while (i < 10);
Littéralement, ces boucles accomplissent des opérations tant qu'une condition est vraie :
Contrairement à la boucle for, ces boucles nécessitent une initialisation des éventuels variables incrémentables avant la structure.
La condition des structures itératives, soit l'expression se trouvant immédiatement après while entre paranthèses, doit fournir une valeur du type booléen : true ou false.
Dans les deux cas, il est possible d'omettre les accolades délimitant le bloc d'instructions si ce dernier ne contient qu'une seule instruction.
class Boucles { static String[] jour_semaine = {"lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"}; public static void main(String[] args){ int i = 0; do { System.out.println("Jour de la semaine : " + jour_semaine[i] + "\n"); i++; } while(i < jour_semaine.length); System.out.println("------------------------"); while(--i >= 0) { System.out.println("Jour de la semaine : " + jour_semaine[i] + "\n"); } } }