Merge branch 'main' of https://gitty.informatik.hs-mannheim.de/3003916/groovy-lecture
commit
c00678f8f1
|
@ -0,0 +1,100 @@
|
|||
# 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
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue