groovy-lecture/yase/Schleifen.md

2.0 KiB

Schleifen

while-Schleife

Syntax Kopfgesteuerte while-Schleife

class Beispiel {
    static void main(String[] args){
        def y = 0
        while (y < 5){
            print(y + " ") // -> 1 2 3 4 
            y++
        }
    }

}

for-Schleife

Syntax der for-Schleife wie in Java

class Beispiel {
    static void main(String[] args){
        for (int i = 0; i < 5; i++){
            print(i + " ") // -> 1 2 3 4
        }
    }
}

for-in Schleife

for (variable in iterable) {body}

Die for-in Schleife folgt dieser einfachen Struktur. Sie durchläuft das Objekt iterable. Häufig verwendete Iterables sind Ranges, Collections, Maps, Arrays, Iterators und Enumerationen. Jedes Objekt kann ein Groovy ein Iterable sein. Klammern um den Body sind optinal, wenn er nur aus einer Anweisung besteht. Im Folgenden Beispiele für Iterationen:

über Ranges:

class Beispiel {
    static void main(String[] args){
        for (i in 0..5){
            print(i + " ") // -> 1 2 3 4 5
        }
        for (i in 'a'..<'d'){
            print(i + " ") // -> a b c letzter Buchstabe exklusiv
        }
    }
}

über eine Liste:

class Beispiel {
    static void main(String[] args){
        def list = [1, 2, 3, 4, 5]
        for (element in list){
            print element + " " // -> 1 2 3 4 5
        }
    }
}

über eine Array:

class Beispiel {
    static void main(String[] args){
        def arr = ['a', 'b', 'c']
        for (ch in arr){
            print (ch + " ") // -> a b c
        }
    }
}

über eine Map:

class Beispiel {
    static void main(String[] args){
        def map = [name: "Alice", age: 18]
        for (entry in map){
            print(${entry.key}: ${entry.value}) // -> name: Alice age: 18
        }
    }
}

über eine Zeichenfolge:

class Beispiel {
    static void main(String[] args){
        def text = "Groovy"
        for (ch in text){
            print(ch + " ") // -> G r o o v y
        }
    }
}