105 lines
2.2 KiB
Markdown
105 lines
2.2 KiB
Markdown
|
|
||
|
### Aufgabe 1 (2 Punkte)
|
||
|
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.
|
||
|
|
||
|
### Aufgabe 2 (2 Punkte)
|
||
|
Ü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
|
||
|
```
|
||
|
|
||
|
### 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
|
||
|
- [ ] 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"
|
||
|
```
|