s n h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

Fachkonzept - Schleifen

Wozu Schleifen?

Beim Programmieren kommt es häufig vor, dass man dieselbe Tätigkeit mehrfach ausführen möchte – etwa von 1 bis 10 zählen oder eine Begrüßung mehrmals ausgeben. Man könnte den nötigen Code einfach mehrfach untereinander schreiben – das wäre aber unübersichtlich, fehleranfällig und bei großen Anzahlen gar nicht mehr praktikabel.

Eine Schleife wiederholt einen Block von Anweisungen. Den wiederholten Block nennt man den Schleifenrumpf. Wir verwenden dafür die for-Schleife. Sie durchläuft der Reihe nach alle Werte aus einer vorgegebenen Folge und stellt in jedem Durchlauf den aktuellen Wert über eine Schleifenvariable bereit.

Über einen Zahlenbereich

Mit dem Bereich 1..5 erzeugt man die Zahlen von 1 bis 5 (jeweils einschließlich). Die for-Schleife läuft dann über diese Zahlen:

fun main() {
    for (i in 1..5) {
        println("Zähle: $i")
    }
}

Die Schleifenvariable i nimmt nacheinander die Werte 1, 2, 3, 4 und 5 an. Im Schleifenrumpf kann man den aktuellen Wert verwenden – hier zum Beispiel, um ihn auszugeben. Der Schleifenrumpf wird also fünfmal ausgeführt, jedes Mal mit einem anderen Wert für i.

Soll rückwärts gezählt werden, verwendet man downTo statt des Bereichs mit ..:

fun main() {
    for (i in 3 downTo 1) {
        println("Noch $i ...")
    }
    println("Los!")
}

Hier nimmt i nacheinander die Werte 3, 2 und 1 an.

Eine feste Anzahl von Wiederholungen

Manchmal möchte man eine Anweisung einfach nur mehrmals ausführen und ist am Wert der Schleifenvariablen gar nicht interessiert. Auch dafür eignet sich ein Zahlenbereich: Man wählt den Bereich so, dass er die gewünschte Anzahl an Durchläufen ergibt.

fun main() {
    for (i in 1..3) {
        println("Herzlich willkommen!")
    }
}

Der Bereich 1..3 hat drei Werte, also wird der Schleifenrumpf dreimal ausgeführt und die Begrüßung erscheint dreimal. Die Schleifenvariable i wird hier zwar gebraucht, damit die Schleife zählen kann, im Rumpf aber nicht verwendet.

Verschachtelte Schleifen

Schleifen dürfen ineinander verschachtelt werden. So lässt sich zum Beispiel ein kleines Einmaleins ausgeben. Für jeden Wert der äußeren Schleife werden alle Werte der inneren Schleife durchlaufen:

fun main() {
    for (a in 1..3) {
        for (b in 1..3) {
            println("$a · $b = ${a * b}")
        }
    }
}

Die äußere Schleife wählt einen Wert für a, und für dieses eine a durchläuft die innere Schleife alle Werte von b. Erst danach geht die äußere Schleife zum nächsten a über. So entstehen nacheinander alle Kombinationen.

Die for-Schleife wiederholt ihren Rumpf für jeden Wert eines Zahlenbereichs. Die Schleifenvariable nimmt dabei nacheinander jeden dieser Werte an. Den Bereich gibt man aufsteigend mit .. (z.B. 1..5) oder absteigend mit downTo (z.B. 3 downTo 1) an.

Suche

v
100.123.4.4 Fachkonzept - Schleifen
Kopieren durch Anklicken

Rückmeldung geben