2010-04-17 9 views
5

J'ai vu ce morceau de code sur les interents quelque part. Je me demande à quoi sert le do.Que fait "faire" ici? (java)

public class LoopControl { 
    public static void main(String[] args) { 
     int count = 0; 

     do { 
      if (count % 2 == 0) { 
       for (int j = 0; j < count; j++) { 
        System.out.print(j+1); 

        if (j < count-1) { 
         System.out.print(", "); 
        } 
       } 

       System.out.println(); 
      } 

      count++; 
     } 
     while (count <= 5); 
    } 
} 

Je veux dire par qu'est-ce que cela signifie do? Quelle est sa fonction? Toute autre information serait utile aussi.

+3

reformaté votre code. Oh hey attends - maintenant tu peux voir où le 'do' appartient ^^ – Leo

+7

Tu as dit doo doo. –

+0

Pouvez-vous reformater à nouveau pour indenter correctement les crochets. La deuxième instruction if n'a pas de parenthèse ouvrante, de sorte que la parenthèse qui l'accompagne appartient en fait à la boucle for et la suivante appartient au premier if. – DaveJohnston

Répondre

6

Il est une boucle do-while. Il fera donc tout dans le bloc suivant alors que count est inférieur ou égal à 5. La différence entre ceci et une boucle while normale est que la condition est évaluée à la fin de la boucle et non au début. Ainsi, la boucle est garantie pour s'exécuter au moins une fois.

Sun tutorial on while and do-while.

Oh, et dans ce cas, il imprimera:

1, 2 
1, 2, 3, 4 

Edit: juste pour que vous savez qu'il y aura aussi une nouvelle ligne au début, mais la mise en forme ne semble pas pour me le montrer.

-1

Ça va avec le temps. do {...} while() est une boucle qui a la condition à la fin.

3

Il est similaire à une boucle while, avec la seule différence qu'il est exécuté au moins une fois.

Pourquoi? Parce que la condition while est seulement évaluée après le bloc do.

Pourquoi est-ce utile? Considérons, par exemple, un menu de jeu. Tout d'abord, vous voulez afficher le menu (le bloc do), puis vous voulez continuer à afficher le menu jusqu'à ce que quelqu'un choisisse l'option de sortie, qui correspond à la condition d'arrêt while.

1

do { ... } while(CONDITION) assure que le bloc ne intérieur sera exécuté au moins une fois même si la condition ne se contente pas, d'autre part un while statment ne sera jamais exécuter si la condition est pas remplie