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
- for-Schleifen über Bereiche und Collections
- while und do-while: Wann welche Schleife verwendet wird
- forEach, repeat und forEachIndexed
- break, continue und benannte Rückgaben