"Grundkurs Programmieren in Java - (8. Auflage, 2018)"
2001-2018, Carl Hanser Verlag

Lösungsvorschlag zu Aufgabe 5.3 (Version 3.0)

(c) 2001-2018 D. Ratz, D. Schulmeister-Zimolong, D. Seese, J. Wiesenberger

a)

Ausgabe des Programms mit &&:
test1(0)
result: true
test2(2)
result: false
expression is false
Die Methode
test3(3)
wird nicht aufgerufen, da wegen des Ergebnisses false von
test2(2)
der Ausdruck
test1(0) && test2(2) && test3(2)
nicht mehr true werden kann (bei && findet nur eine bedingte Auswertung der einzelnen Operanden statt).

b)

Ausgabe des Programms mit &:
test1(0)
result: true
test2(2)
result: false
test3(2)
result: true
expression is false
Jetzt wird auch
test3(3)
aufgerufen, obwohl das Ergebnis eigentlich schon vorher klar ist.