Java continuer à la fin de si


J'ai un exemple de code d'un livre et l'auteur utilise toujours un continuer à la fin d'un if.

Exemple:

int a = 5;
if(a == 5)
{
// some code
continue;
}

Maintenant, pour moi, cela n'a aucun sens. Pourrait-il y avoir une sorte de raisonnement de gestion de la qualité derrière cela ou est-ce que je manque juste un point plus important?

Author: John Frost, 2012-11-09

4 answers

Peut-être que cet extrait de code était dans une boucle (for/while/do...while)? sinon, il ne pas n'a aucun sens de mettre un continue dans une instruction conditionnelle.

En fait, un continue orphelin (par exemple: celui qui n'est pas imbriqué quelque part dans une instruction loop) produira une erreur continue cannot be used outside of a loop au moment de la compilation.

 19
Author: Óscar López, 2012-11-09 19:02:52

Continuer pour passer à l'itération suivante d'une boucle. Donc, quelque chose comme ça aurait du sens. Maintenant, vous pouvez utiliser toutes les conditions (la vôtre est a==5 pour casser), et quelle que soit la logique métier que vous vouliez (la mienne est un exemple stupide et artificiel).

StringBuilder sb = new StringBuilder();
for(String str : strings) {
    sb.append(str);
    if(str.length() == 0) continue; // next loop if empty

    str = str.substring(1);
    sb.append(str);
    if(str.length() == 0) continue; // next loop if empty

    str = str.substring(1);
    sb.append(str);
    if(str.length() == 0) continue; // next loop if empty

    sb.append(str);
}
 5
Author: corsiKa, 2012-11-09 16:15:52

Parfois, il est utile de forcer une itération précoce d'une boucle. Autrement dit, vous voudrez peut-être continuer à exécuter la boucle, mais arrêter de traiter le reste du code dans son corps pour cette itération particulière. C'est, en effet, un goto, juste après le corps de la boucle, la boucle de la fin. L'instruction continue effectue une telle action. Dans les boucles while et do-while, une instruction continue entraîne le transfert direct du contrôle vers l'expression conditionnelle qui contrôle la boucle. Dans une boucle for, le contrôle va d'abord à l'itération partie de la déclaration, puis à l'expression conditionnelle. Pour les trois boucles, tout le code intermédiaire est contourné. Voici un exemple de programme qui utilise continue pour faire imprimer deux nombres sur chaque ligne: // Démontrer continuer.

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

Ce code utilise l'opérateur % pour vérifier si i est pair. Si c'est le cas, la boucle continue sans imprimer de retour à la ligne. Voici la sortie de ce programme:

0 1
2 3
4 5
6 7
8 9

 2
Author: Abhishekkumar, 2012-11-09 16:12:43

Normalement, le continu est utilisé pour échapper aux boucles profondément imbriquées, ou simplement pour plus de clarté (discutable).

Parfois, continue est également utilisé comme espace réservé afin de rendre un corps de boucle vide plus clair .

for (count = 0; foo.moreData(); count++)
  continue;

C'est une question de goût que personnellement je n'utilise pas continuer.

 0
Author: dreamcrash, 2017-05-23 11:46:00