Sind folgende Java-Anweisungen syntaktisch korrekt (mit den Variablen a
und b
deklariert mit Typ int
)? Begründen Sie Ihre Antwort.
a + 1 = b;
boolean y = true - false;
b = 1 & 2;
int a = 'A';
byte x = (byte)280;
boolean z = (false == (10 >= 20));
zu den Teilaufgaben:
a + 1
ergibt einen Wert; auf der linken Seite einer Zuweisung (=
) sind jedoch nur Variablen erlaubt-
kann nicht auf den Typ boolean
angewandt werdenb
erhält hier den Wert 3
)a
deklariert, Variablen müssen aber (nur) genau einmal deklariert werden a
deklariert, würde diese Anweisung so korrekt sein und a
den Wert 65
zuweisen)280
außerhalb des Wertebereichs des Typs byte
liegt, ist diese Anweisung aufgrund des ausdrücklichen Type-Casts (byte)
korrekt (x
erhält hier den Wert 24
wegen des Bereichsüberlaufs)z
mit einem booleschen Wert, der Ausdruck (10 >= 20)
ergibt false, (false == false)
ergibt true
Anmerkung. Bei Problemen dieser Art ist das „Code Pad“ in BlueJ äußerst hilfreich. Siehe Unterlagen.
Arne Johannessen, 28. November 2007