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, continue
est utilisé. La continue
construction 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
, continue
est exécuté, ce qui ignore tous les codes à l'intérieur de la while
boucle 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, continue
est 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 continue
construction.
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. continue
peut é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 continue
avec l'étiquette ( continue@outerloop
dans 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é continue
est 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
, continue
et return
. Pour en savoir plus break
et return
s'exprimer, visitez:
- Pause Kotlin
- Fonction Kotlin