groovy-lecture/live/recap.md

67 lines
1.6 KiB
Markdown
Raw Normal View History

2024-06-07 22:06:00 +02:00
# Zusammenfassung:
Gegeben sei folgender Java-Code:
```Java
import java.util.ArrayList;
import java.util.List;
class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String toString(){
return this.name + ", Alter: " + this.age;
}
}
public class Main {
public static void main(String[] args) {
List<Person> personen = new ArrayList<>();
personen.add(new Person("Alice", 20));
personen.add(new Person("Bob", 18));
personen.add(new Person("Charlie", 30));
personen.add(new Person("David", 15));
personen.add(new Person("Eve", 21));
for (Person p : personen) {
System.out.println(p);
}
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
}
2024-06-10 19:18:55 +02:00
System.out.println("Summe der Zahlen von 1-10: " + sum);
2024-06-07 22:06:00 +02:00
}
}
```
Der Code hat folgende Ausgabe:
```
Alice, Alter: 20
Bob, Alter: 18
Charlie, Alter: 30
David, Alter: 15
Eve, Alter: 21
2024-06-10 19:18:55 +02:00
Summe der Zahlen von 1-10: 55
2024-06-07 22:06:00 +02:00
```
Wandeln sie den Java-Code so in Groovy-Code um, dass er die selbe Ausgabe erzeugt und folgende Groovy-Features benutzt:
1. String Interpolation
2. Ranges
2024-06-10 19:20:46 +02:00
3. Variablendefinition mit `def`
2024-06-10 19:21:06 +02:00
4. `each`-Schleifen und Closures
2024-06-07 22:06:00 +02:00
5. Dynamische Listen
2024-06-10 19:21:21 +02:00
6. `for-in`-Schleifen
2024-06-07 22:06:00 +02:00
7. Objekterstellung mit Default-Konstruktoren
Versuchen sie sich beim implementieren so kurz wie möglich zu halten. Ziel dieser Aufgabe ist es, das gelernte zu wiederholen und zu zeigen wie kompakt Groovy-Code im Vergleich zu Java-Code sein kann.