groovy-lecture/aufgaben/klausuraufgaben.md

105 lines
2.2 KiB
Markdown
Raw Normal View History

2024-06-05 19:52:30 +02:00
2024-06-06 13:58:16 +02:00
### Aufgabe 1 (2 Punkte)
2024-06-05 19:52:30 +02:00
Erklären Sie kurz die Funktion des "Elvis-Operators" in Groovy und geben Sie ein passendes Beispiel
##### Lösung
Der "Elvis-Operator" ist eine Kurzform des ternären Operators. Dieser wird verwendet, um einen Standardwert anzugeben, wenn eine Variable "null" oder falsly ist.
``` Groovy
def result = ausdruck1 ?: ausdruck2
```
ausdruck2 ist der Standartwert, falls ausdruck1 null oder falsly ist.
2024-06-06 13:58:16 +02:00
### Aufgabe 2 (2 Punkte)
2024-06-05 19:52:30 +02:00
Überführen Sie folgende Java-Code in Groovy-Code
```java
public static void main(String[] args){
int a = 1;
int b = 2;
int c = 3;
System.out.println("Ihre Zahlen sind: " + a + ", " + b + ", " + c);
}
```
##### Lösung
```Groovy
def(a,b,c) = [1,2,3]
println "Das sind Ihre Zahlen: $a, $b, $c"
```
### Aufgabe 3
#### a)
Was gibt folgender Groovy-Code aus ?
```Groovy
def namen = ["Alice", "Bob", "Charlie", "Diana"]
namen.each { name ->
println name.toUpperCase()
}
```
##### Lösung
ALICE
BOB
CHARLIE
DIANA
#### b)
Fügen Sie "namen" folgende Werte hinzu:
"Paolo", 5
##### Lösung
```Groovy
name << "Paolo"
name << 5
```
### Aufgabe 4
Folgende Klasse ist gegeben:
```Groovy
class Person{
def name
def age
}
```
Initialisieren Sie ein Objekt der Klasse "Person" mit name = "Reinhard" und age = 12
##### Lösung
```Groovy
def person = new Person(name: "Reinhard", age: 12)
```
oder
```Groovy
def person = new Person()
person.name = "Reinhard"
person.age = 12
```
2024-06-06 13:58:16 +02:00
### Aufgabe 5
Kreuzen Sie richtige Aussagen an
- [ ] Groovy ist eine Mischung aus Java und Ruby
- [ ] Groovy Code lässt sich auch über den Java-Compiler ausführen
- [ ] Enums können mehr als nur Variablen Deklarationen beinhalten
- [ ] Enums können nur Variablen Deklarationen beinhalten
2024-06-06 22:56:22 +02:00
- [ ] Groovy unterstützt sowohl dynamische als auch statische Typisierung
### Aufgabe 6
Welche der folgenden Strings sind gültige Groovy-Strings? Kreuzen Sie die richtigen Antwortmöglichkeiten an.
```Groovy
[ ] def a = 'Groovy ist großartig!'
[ ] def b = /Groovy hat viele Möglichkeiten "Strings" zu formen/
[ ] def c = $\Vielleicht funktioniert auch 'dieser' "String"\$
[ ]def d = "
erste Zeile
zweite Zeile
dritte Zeile
"
[ ] def e = "Die 'PR3 Klausur' ist fast geschafft!"
[ ] def f = "Auch das könnte ein ${gueltig} String sein"
```