while und do-while: Wann welche Schleife verwendet wird
Schreiben Sie while- und do-while-Schleifen und verstehen Sie ihre Einsatzgebiete.
while und do-while: Wann welche Schleife verwendet wird ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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.
Zwei Arten von While-Schleifen
Kotlin bietet sowohl while (Prüfung vor der Schleife) als auch do-while (Prüfung nach der Schleife). Der Unterschied: do-while führt den Schleifenrumpf immer mindestens einmal aus.
Grundlegende while-Schleife
Eine while-Schleife prüft die Bedingung vor jeder Iteration. Ist sie bereits zu Beginn falsch, wird der Schleifenrumpf nie ausgeführt.
fun main() {
var count = 0
while (count < 3) {
println("count = $count")
count++
}
}Grundlegende do-while-Schleife
Eine do-while-Schleife führt den Schleifenrumpf aus und prüft anschließend die Bedingung. Der Schleifenrumpf wird immer mindestens einmal ausgeführt.
fun main() {
var n = 10
do {
println("n = $n")
n--
} while (n > 7)
}Bis zu einem Sentinel-Wert lesen
while-Schleifen sind ideal, wenn Sie nicht wissen, wie viele Iterationen benötigt werden — zum Beispiel beim Lesen bis zu einem Sentinel-Wert.
fun main() {
val data = listOf(3, 7, 0, 9)
var i = 0
while (i < data.size && data[i] != 0) {
println("got ${data[i]}")
i++
}
println("stopped at index $i")
}Eine Liste durchsuchen
Verwenden Sie while für eine Suche mit vorzeitigem Abbruch, bei der Sie stoppen, sobald eine Bedingung erfüllt ist.
fun main() {
val nums = listOf(2, 4, 7, 8, 10)
var i = 0
while (i < nums.size && nums[i] % 2 == 0) i++
println("first odd at index $i = ${nums[i]}") // 2 = 7
}do-while für die Eingabevalidierung
Verwenden Sie do-while, wenn Sie eine Aktion (Aufforderung, Lesen, Versuch) ausführen müssen, bevor Sie den Erfolg prüfen können.
fun main() {
val validInputs = listOf("y", "n", "y")
var idx = 0
var input: String
do {
input = validInputs[idx++]
println("user typed: $input")
} while (input != "n" && idx < validInputs.size)
}Zähler mit Dekrementierung
while-Schleifen eignen sich gut für Zähler, die bis auf null heruntergezählt werden.
fun main() {
var lives = 3
while (lives > 0) {
println("Lives left: $lives")
lives--
}
println("Game over")
}Endlosschleife mit Break
Verwenden Sie while (true) mit break für Code im Stil einer Ereignisschleife, bei dem die Abbruchbedingung komplex ist.
fun main() {
val items = listOf(1, 2, 3, -1, 4)
var i = 0
while (true) {
if (i >= items.size || items[i] < 0) break
println("ok: ${items[i]}")
i++
}
}while und for im Vergleich
Wenn Sie die Anzahl der Iterationen im Voraus kennen, bevorzugen Sie for. Verwenden Sie while, wenn die Iterationen vom Laufzeitstatus abhängen.
fun main() {
// for: known bounds
for (i in 1..3) print("$i ")
println()
// while: state-driven
var n = 1
while (n <= 3) { print("$n "); n++ }
println()
}Schleife mit zwei Variablen
while-Schleifen können mehrere Variablen verfolgen, was bei Algorithmen wie Fibonacci hilfreich ist.
fun main() {
var a = 0
var b = 1
while (b < 50) {
print("$b ")
val next = a + b
a = b
b = next
}
println() // 1 1 2 3 5 8 13 21 34
}do-while wird immer einmal ausgeführt
Selbst wenn die Bedingung von Anfang an falsch ist, wird der Schleifenrumpf von do-while einmal ausgeführt. Manchmal ist genau das gewünscht — in anderen Fällen handelt es sich um einen Fehler.
fun main() {
var x = 100
do {
println("x = $x") // prints once
x--
} while (x > 1000) // false immediately
}Kurztest
Welche Schleife garantiert, dass ihr Schleifenrumpf unabhängig von der Bedingung mindestens einmal ausgeführt wird?
Zusammenfassung
Verwenden Sie while, wenn die Anzahl der Iterationen von einer Laufzeitbedingung abhängt. Verwenden Sie do-while, wenn der Schleifenrumpf mindestens einmal ausgeführt werden muss (z. B. bei Validierung oder Wiederholungsversuchen). Bevorzugen Sie for, wenn die Anzahl der Iterationen bekannt ist.
Häufig gestellte Fragen
Ist die Lektion „while und do-while: Wann welche Schleife verwendet wird“ kostenlos?
Ja — der vollständige Text von „while und do-while: Wann welche Schleife verwendet wird“ 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 „while und do-while: Wann welche Schleife verwendet wird“?
Schreiben Sie while- und do-while-Schleifen und verstehen Sie ihre Einsatzgebiete. 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 2 von 4.
Wie lange dauert die Lektion „while und do-while: Wann welche Schleife verwendet wird“?
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