Kotlin Academy · Leçon

break, continue et retours étiquetés

Contrôlez le déroulement des boucles avec break et continue, et sortez des boucles imbriquées à l’aide d’étiquettes.

Leçon 4 sur 413 étapes

break, continue et retours étiquetés est une leçon Kotlin Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Academy comprend 4 leçons au total.

Contrôler le déroulement des boucles

Kotlin prend en charge break (sortir de la boucle), continue (passer à l’itération suivante) et les étiquettes pour sortir de boucles imbriquées.

Notions de base de break

break sort immédiatement de la boucle englobante la plus interne.

fun main() {
    for (i in 1..10) {
        if (i == 5) break
        print("$i ")
    }
    println() // 1 2 3 4
}

Notions de base de continue

continue ignore le reste de l’itération actuelle et passe à la suivante.

fun main() {
    for (i in 1..10) {
        if (i % 2 == 0) continue
        print("$i ")
    }
    println() // 1 3 5 7 9
}

Boucles étiquetées

Étiquetez une boucle avec label@ et faites-y référence depuis break@label ou continue@label pour contrôler les boucles externes depuis des boucles imbriquées.

fun main() {
    outer@ for (i in 1..3) {
        for (j in 1..3) {
            if (i == 2 && j == 2) break@outer
            println("$i,$j")
        }
    }
}

continue avec une étiquette

Utilisez continue@outer pour passer à l’itération suivante d’une boucle externe.

fun main() {
    outer@ for (i in 1..3) {
        for (j in 1..3) {
            if (j == 2) continue@outer
            println("i=$i j=$j")
        }
    }
}

return@lambda

Dans forEach et les autres fonctions inline, un simple return sort de la fonction englobante. Utilisez return@forEach pour sortir uniquement de la lambda.

fun main() {
    listOf(1, 2, 3, 4, 5).forEach {
        if (it == 3) return@forEach
        println(it)
    }
    println("Done")
}

Retour non local dans les lambdas

Si la lambda est inline, comme forEach, un simple return sort de toute la fonction englobante, ce qui peut parfois surprendre.

fun process() {
    listOf(1, 2, 3).forEach {
        if (it == 2) return // exits process()
        println(it)
    }
    println("never printed")
}
fun main() { process() }

Étiquette personnalisée pour une lambda

Vous pouvez étiqueter explicitement une lambda avec name@ afin d’indiquer plus clairement la cible du retour.

fun main() {
    listOf(1, 2, 3, 4).forEach loop@{
        if (it == 3) return@loop
        println(it)
    }
}

break dans while

break et continue fonctionnent de la même manière dans while et do-while.

fun main() {
    var i = 0
    while (true) {
        if (i >= 3) break
        println("i = $i")
        i++
    }
}

Combiner une étiquette et continue

Les étiquettes et continue permettent d’ignorer des itérations entières d’algorithmes imbriqués sans utiliser de variables indicatrices.

fun main() {
    val grid = listOf(listOf(1,2,0), listOf(3,4,5), listOf(0,6,7))
    rows@ for (row in grid) {
        for (cell in row) {
            if (cell == 0) continue@rows
            print("$cell ")
        }
        println()
    }
}

Quand ne pas utiliser les étiquettes

Les étiquettes ajoutent de la complexité. Si vous constatez que vous les utilisez souvent, envisagez d’extraire la boucle interne dans une fonction avec un return classique.

fun firstMatch(grid: List<List<Int>>, target: Int): Pair<Int,Int>? {
    for (r in grid.indices) for (c in grid[r].indices) {
        if (grid[r][c] == target) return r to c
    }
    return null
}
fun main() {
    val g = listOf(listOf(1,2),listOf(3,4))
    println(firstMatch(g, 3))
}

Vérification rapide

Comment sortir de la boucle externe depuis une boucle interne en Kotlin ?

Récapitulatif

break sort de la boucle la plus interne ; continue passe à l’itération suivante. Utilisez label@ avec break@label ou continue@label pour contrôler les boucles imbriquées. Dans les lambdas, préférez return@forEach à return pour éviter les sorties non locales.

Gratuit pour commencer

Apprends Kotlin avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
51
Leçons
203

Questions Fréquemment Posées

La leçon « break, continue et retours étiquetés » est-elle gratuite ?

Oui — le texte complet de « break, continue et retours étiquetés » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Academy, passe à CoddyKit PRO. Le cours Kotlin Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « break, continue et retours étiquetés » ?

Contrôlez le déroulement des boucles avec break et continue, et sortez des boucles imbriquées à l’aide d’étiquettes. Tu pratiques Kotlin Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Kotlin Academy ?

Aucune expérience préalable n'est requise. Kotlin Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « break, continue et retours étiquetés » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Kotlin Academy ?

Oui. Chaque leçon Kotlin Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Boucle for sur des intervalles et des collections
  2. while et do-while : quand utiliser chacune
  3. forEach, repeat et forEachIndexed
  4. break, continue et retours étiquetés
← Retour à Kotlin Academy