Kotlin continue (avec des exemples)

Dans ce didacticiel, vous apprendrez à utiliser Continue pour ignorer l'itération actuelle d'une boucle. En outre, vous découvrirez également les étiquettes de continuation dans cet article.

Supposons que vous travaillez avec des boucles. Il est parfois souhaitable d'ignorer l'itération actuelle de la boucle.

Dans ce cas, continueest utilisé. La continueconstruction ignore l'itération actuelle de la boucle englobante et le contrôle du programme passe à la fin du corps de la boucle.

Comment continuer fonctionne?

Il est presque toujours utilisé avec la construction if… else. Par exemple,

 while (testExpression1) (// codes1 if (testExpression2) (continue) // codes2)

Si testExpression2 est évalué à true, continueest exécuté, ce qui ignore tous les codes à l'intérieur de la whileboucle après lui pour cette itération.

Exemple: Kotlin continue

 fun main(args: Array) ( for (i in 1… 5) ( println("$i Always printed.") if (i> 1 && i < 5) ( continue ) println("$i Not always printed.") ) )

Lorsque vous exécutez le programme, la sortie sera:

1 Toujours imprimé. 1 Pas toujours imprimé. 2 Toujours imprimé. 3 Toujours imprimé. 4 Toujours imprimé. 5 Toujours imprimé. 5 Pas toujours imprimé.

Lorsque la valeur de i est supérieure à 1 et inférieure à 5, continueest exécuté, ce qui ignore l'exécution de

 println ("$ i Pas toujours imprimé.")

déclaration.

Cependant, la déclaration

 println ("$ i Toujours imprimé.")

est exécutée à chaque itération de la boucle car cette instruction existe avant la continueconstruction.

Exemple: calculer la somme des nombres positifs uniquement

Le programme ci-dessous calcule la somme de maximum 6 nombres positifs saisis par l'utilisateur. Si l'utilisateur entre un nombre négatif ou zéro, il est ignoré du calcul.

Visitez Kotlin Basic Input Output pour en savoir plus sur la façon de prendre les entrées de l'utilisateur.

 fun main(args: Array) ( var number: Int var sum = 0 for (i in 1… 6) ( print("Enter an integer: ") number = readLine()!!.toInt() if (number <= 0) continue sum += number ) println("sum = $sum") )

Lorsque vous exécutez le programme, la sortie sera:

 Entrez un entier: 4 Entrez un entier: 5 Entrez un entier: -50 Entrez un entier: 10 Entrez un entier: 0 Entrez un entier: 12 somme = 31

Kotlin Labeled continuer

Ce que vous avez appris jusqu'à présent, c'est la forme non étiquetée de continue, qui ignore l'itération actuelle de la boucle englobante la plus proche. continuepeut également être utilisé pour sauter l'itération de la boucle souhaitée (peut être une boucle externe) en utilisant des continueétiquettes.

Comment le label continue fonctionne-t-il?

L'étiquette dans Kotlin commence par un identifiant qui est suivi de @.

Ici, la boucle externe @ est une étiquette marquée sur la boucle while externe. Maintenant, en utilisant continueavec l'étiquette ( continue@outerloopdans ce cas), vous pouvez ignorer l'exécution des codes de la boucle spécifique pour cette itération.

Exemple: étiqueté continuer

 fun main(args: Array) ( here@ for (i in 1… 5) ( for (j in 1… 4) ( if (i == 3 || j == 2) continue@here println("i = $i; j = $j") ) ) )

Lorsque vous exécutez le programme, la sortie sera:

i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1

L'utilisation de labellisé continueest souvent déconseillée car cela rend votre code difficile à comprendre. Si vous êtes dans une situation où vous devez utiliser étiqueté continue, refactorisez votre code et essayez de le résoudre d'une manière différente pour le rendre plus lisible.

Il y a 3 expressions de saut structurelles Kotlin: break, continueet return. Pour en savoir plus breaket returns'exprimer, visitez:

  • Pause Kotlin
  • Fonction Kotlin

Articles intéressants...