Java Reference
In-Depth Information
In Zeile 10 wird die boolesche Funktion linksFrei (Funktion mit einem Seiteneffekt!) wie ge-
wohnt aufgerufen. Zeile 13 enthält eine Ausdrucksanweisung. Der Ausdruck, der in diesem Fall
aus dem Funktionsaufruf besteht, wird ausgewertet, der berechnete Wert (hier die Abfrage, ob das
Feld vor dem Hamster frei ist) aber nicht weiter genutzt. Auch Zeile 5 enthält eine Ausdrucksanwei-
sung. Hier wird der Ausdruck anzahl = anzahl + 1 durch die Nachstellung eines Semikolons zu
einer Zuweisung gemacht. In Zeile 14 tritt eine weitere Ausdrucksanweisung auf, die jedoch eine
Fehlermeldung des Compilers produziert, da ein arithmetischer Ausdruck nicht zu einer Ausdrucks-
anweisung umgeformt werden darf.
In Abbildung 14.9 wird die Syntax der Ausdrucksanweisung definiert. In der Abbildung wird auch
das Syntaxdiagramm „Anweisung“ aus Abbildung 13.3 erweitert bzw. korrigiert.
14.8.3 Zuweisung
Mittels der Zuweisung kann der Wert einer Variablen verändert werden. Eine Zuweisung setzt sich
dabei syntaktisch zusammen aus dem Namen einer Variablen auf der linken und einem Ausdruck
auf der rechten Seite des Zuweisungsoperators „=“. Dabei ist auf Typkonformität zu achten; je nach
Typ der Variablen ( boolean oder int ) muss es sich bei dem Ausdruck um einen booleschen oder
einen arithmetischen Ausdruck handeln.
Wird während der Programmausführung eine Zuweisung ausgeführt, dann wird aufgrund der Recht-
sassoziativität des Zuweisungsoperators zunächst der Ausdruck auf der rechten Seite ausgewertet.
Anschließend wird der berechnete Wert in der Variablen abgespeichert.
Bisher haben wir eine Zuweisung immer als Anweisung betrachtet (siehe Abbildung 13.3 und 14.2).
Tatsächlich ist jedoch eine Zuweisung ein Ausdruck ( Zuweisungsausdruck ) mit einem nachgestellten
Semikolon, der den Wert liefert, der der Variablen zugewiesen wird (siehe auch Abbildung 14.7).
Nach den Ausführungen in Abschnitt 14.8.2 können auch Ausdrücke als Anweisungen fungieren
(Ausdrucksanweisungen). Wir haben die Zuweisung also bisher in Form einer speziellen Ausdrucks-
anweisung mit nachgestelltem Semikolon benutzt. Aus diesem Grund kann die Zuweisung im Syn-
taxdiagramm „Anweisung“ wieder gestrichen werden, was in Abbildung 14.9 passiert ist.
Das folgende Beispiel demonstriert den Einsatz von Zuweisungen in Form von Ausdrücken:
1 void main() {
2
int i1, i2, i3;
// ...
3
i1=i2=i3=5;
4
// ...
5
int anzahl = 5;
6
// ...
7
while ((anzahl = anzahl + 1) < 8) {
8
vor();
9
}
10
if ((anzahl = anzahl + 1) == (anzahl = anzahl - 1)) {
11
linksUm();
12
}
13
14 }
Search WWH ::




Custom Search