groovy-lecture/aufgaben/klausuraufgaben.md

2.2 KiB

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.

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

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
def(a,b,c) = [1,2,3]
println "Das sind Ihre Zahlen: $a, $b, $c"

Aufgabe 3

a)

Was gibt folgender Groovy-Code aus ?

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
name << "Paolo"
name << 5

Aufgabe 4

Folgende Klasse ist gegeben:

class Person{
	def name
	def age
}

Initialisieren Sie ein Objekt der Klasse "Person" mit name = "Reinhard" und age = 12

Lösung
def person = new Person(name: "Reinhard", age: 12)

oder

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.

[ ] 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"