2017-08-11 6 views
-4

J'ai un programme comme celui-ci:Quelqu'un peut-il m'expliquer l'exécution de l'instruction java continue dans le code suivant?

public class OCAJP { 
    public static void main(String[] args) { 
     int i=0; 
     for(;i<2;i=i+5) { 
      if(i<5) { 
       continue; 
      } 
      System.out.print(i); 
     } 
     System.out.print(i); 
    } 
} 

This gives me an output to be 5 rather than giving me 05. L'instruction continue utilisée si le bloc ne doit pas être si le bloc d'exécution, mais il montre sa fonctionnalité pour continuer la boucle.

+2

Pourquoi pensez-vous qu'il devrait donner 05? –

+0

Que pensez-vous que «continuer» fait réellement? Parce qu'une fois atteint, il retourne au début de la boucle, exécute l'instruction 'i = i + 5', le vérifie par rapport à la valeur d'itération' i <2' retourne 'false' et continue, mais il exécute toujours' i = i + 5' déclaration. – AntonH

+1

Vérifiez [instructions de branchement] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html) –

Répondre

0

Il n'imprime pas sur le premier tour en raison de l'instruction continue depuis

i 

est encore inférieur à 5.

0

Oui, le bloc à l'intérieur du cas doit être exécutée parce que 0 L'incrément est exécuté après la première boucle, MEME si l'incrément est une ligne avant. Malheureusement, il est déroutant, désolé

0

Vous avez déjà tout dit sur la façon dont cela fonctionne. continue instruction est connecté à for boucle et vous pouvez l'utiliser pour contrôler la boucle. Sa signification est "laisser cette itération de boucle, revenir à la définition de la boucle et procéder à l'itération suivante". Par conséquent, la première impression, pour i=0, ne s'exécute pas.