Was macht die folgende Zuweisungsanweisung:
int zahl = 10; zahl = zahl * 2;
zahl
geholt und mit 2 multipliziert. Das Ergebnis ist 20.zahl
gestellt. Der alte Inhalt der Variablen zahl
wird gelöscht.Üblicherweise würden wir sagen:
Die Anweisung verdoppelt zahl
.
Aber, das ist ein bißchen salopp.
Manchmal müssen wir sorgfältig über die zwei Schritte der Zuweisungsanweisung nachdenken. Im ersten Schritt wird der rechts stehende Ausdruck ausgewertet.
Ein Ausdruck ist eine Kombination von Literalen, Operatoren, Variablen und Klammern, die verwendet wird, um einen Wert zu berechnen.
Diese (leicht unvollständige) Definition bedarf weiterer Erklärung:
Das könnte schrecklich klingen. Tatsächlich ist das der Stoff, den wir von der Algebra her kennen, wie:
(32 - y) / ( x + 5 )
In dem oben stehenden bedeutet das Zeichen "/" Division. Natürlich wird nicht jedes Kuddelmuddel funktionieren. Das Folgende:
32 - y) / ( x 5 + )
ist kein syntaktisch korrekter Ausdruck. Es gibt Regeln dafür, aber die beste Regel ist, dass ein Ausdruck OK aussehen muss, so wie in der Algebra. Aber bei Multiplikation muss immer ein *
Operator verwendet werden. Wir können keine zwei Variablen miteinander multiplizieren, indem wir sie nebeneinander stellen. Daher, obwohl xy
in der Algebra korrekt wäre, müssen wir in Java x * y
verwenden.
Welche der folgenden Ausdrücke sind korrekt? (Setzen wir voraus, dass die Variablen an anderer Stelle richtig deklariert wurden.)