0Pricing
Kotlin Academy · Lektion

break, continue und benannte Rückgaben

Steuern Sie den Schleifenablauf mit break und continue und verlassen Sie verschachtelte Schleifen mithilfe von Labels.

break, continue und benannte Rückgaben ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Steuerung des Schleifenablaufs

Kotlin unterstützt break (Schleife verlassen), continue (zur nächsten Iteration springen) und Labels, um verschachtelte Schleifen zu verlassen.

Grundlagen von break

break beendet sofort die innerste umschließende Schleife.

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

Grundlagen von continue

continue überspringt den Rest der aktuellen Iteration und wechselt zur nächsten.

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

Markierte Schleifen

Versehen Sie eine Schleife mit label@ mit einem Label und verweisen Sie von break@label oder continue@label darauf, um von einer verschachtelten Schleife aus äußere Schleifen zu steuern.

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

continue mit einem Label

Verwenden Sie continue@outer, um zur nächsten Iteration einer äußeren Schleife zu springen.

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

Innerhalb von forEach und anderen Inline-Funktionen beendet ein einfaches return die umschließende Funktion. Verwenden Sie return@forEach, um nur die Lambda zu verlassen.

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

Nicht-lokales return in Lambdas

Wenn die Lambda inline ist (wie bei forEach), beendet ein einfaches return die gesamte umschließende Funktion — das kann überraschend sein.

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

Eigenes Label für eine Lambda

Sie können eine Lambda mit name@ explizit markieren, um das Rückgabeziel eindeutiger zu machen.

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

break in while

break und continue funktionieren in while und do-while gleich.

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

Label und Continue kombinieren

Mit Labels und continue können Sie ganze Iterationen verschachtelter Algorithmen überspringen, ohne Flag-Variablen zu verwenden.

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()
    }
}

Wann Sie keine Labels verwenden sollten

Labels erhöhen die Komplexität. Wenn Sie häufig auf sie zurückgreifen, sollten Sie die innere Schleife in eine Funktion mit einem normalen return auslagern.

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))
}

Kurztest

Wie verlassen Sie in Kotlin eine äußere Schleife aus einer inneren Schleife heraus?

Zusammenfassung

break beendet die innerste Schleife; continue springt zur nächsten Iteration. Verwenden Sie label@ + break@label/continue@label für die Steuerung verschachtelter Schleifen. Verwenden Sie in Lambdas vorzugsweise return@forEach statt return, um nicht-lokale Rücksprünge zu vermeiden.

Häufig gestellte Fragen

Ist die Lektion „break, continue und benannte Rückgaben“ kostenlos?

Ja — der vollständige Text von „break, continue und benannte Rückgaben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „break, continue und benannte Rückgaben“?

Steuern Sie den Schleifenablauf mit break und continue und verlassen Sie verschachtelte Schleifen mithilfe von Labels. Du übst Kotlin Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Kotlin Academy zu starten?

Keine Vorkenntnisse erforderlich. Kotlin Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „break, continue und benannte Rückgaben“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Kotlin Academy-Lektion Code schreiben und ausführen?

Ja. Jede Kotlin Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. for-Schleifen über Bereiche und Collections
  2. while und do-while: Wann welche Schleife verwendet wird
  3. forEach, repeat und forEachIndexed
  4. break, continue und benannte Rückgaben
← Zurück zu Kotlin Academy