J'ai quelques exemples 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;
}
Pour moi, cela n’a aucun sens. Peut-il y avoir une sorte de raisonnement de la gestion de la qualité derrière ou est-ce que je manque juste un point plus important?
Peut-être que cet extrait de code se trouvait dans une boucle (for/while/do...while
)? sinon, il est logique que not mette un continue
dans une instruction conditionnelle.
En fait, une continue
orpheline (par exemple: une non-imbriquée quelque part dans une instruction de boucle) produira une erreur continue cannot be used outside of a loop
au moment de la compilation.
Continuer est utilisé pour passer à la prochaine itération d'une boucle. Donc, quelque chose comme ça aurait du sens. Vous pouvez maintenant utiliser les conditions de votre choix (votre code est le a==5
pour commencer) et la logique métier de votre choix (le mien 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);
}
Parfois, il est utile de forcer une itération précoce d'une boucle. Autrement dit, vous pouvez continuer à exécuter la boucle, mais arrêtez de traiter le reste du code dans son corps pour cette itération particulière. C'est en fait un goto juste après le corps de la boucle, jusqu'au bout de la boucle. L'instruction continue effectue une telle action. Dans les boucles while et do-while, une instruction continue fait en sorte que le contrôle soit transféré directement à l'expression conditionnelle qui contrôle la boucle. Dans une boucle for, le contrôle passe d'abord à la partie itération de l'instruction for, puis à l'expression conditionnelle. Pour les trois boucles, tout code intermédiaire Est ignoré. Voici un exemple de programme qui utilise continue pour que deux lignes soient imprimées sur chaque ligne: // Démonstration continue.
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 nouvelle ligne. Voici le résultat de ce programme:
0 1
2 3
4 5
6 7
8 9
Normalement, continue est utilisé pour échapper aux boucles profondément imbriquées ou simplement pour la clarté (discutable).
Parfois, continue est également utilisé comme espace réservé pour créer un corps de boucle plus clair .
for (count = 0; foo.moreData(); count++)
continue;
C'est une question de goût que je n'utilise personnellement pas continuer.