5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3...
Transcript of 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3...
![Page 1: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/1.jpg)
5.3 Auswertung von Ausdrücken
Funktionen in Java bekommen Parameter/Argumente als Input,
und liefern als Output den Wert eines vorbestimmten Typs. Zum
Beispiel könnte man eine Funktion
in t min( in t a , in t b)
implementieren, die das Minimum ihrer Argumente zurückliefert.
Operatoren sind spezielle vordefinierte Funktionen, die in
Infix-Notation geschrieben werden (wenn sie binär sind):
a + b = +(a ,b)
Harald Räcke 78/656
![Page 2: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/2.jpg)
5.3 Auswertung von Ausdrücken
Ein Ausdruck ist eine Kombination von Literalen, Operatoren,
Funktionen, Variablen und Klammern, die verwendet wird, um
einen Wert zu berechnen.
Beispiele: (x z.B. vom Typ int)
ñ 7 + 4
ñ 3 / 5 + 3
ñ min(3,x) + 20
ñ x = 7
ñ x *= 2
5.3 Auswertung von Ausdrücken
Harald Räcke 79/656
5.3 Auswertung von Ausdrücken
Funktionen in Java bekommen Parameter/Argumente als Input,
und liefern als Output den Wert eines vorbestimmten Typs. Zum
Beispiel könnte man eine Funktion
in t min( in t a , in t b)
implementieren, die das Minimum ihrer Argumente zurückliefert.
Operatoren sind spezielle vordefinierte Funktionen, die in
Infix-Notation geschrieben werden (wenn sie binär sind):
a + b = +(a ,b)
5.3 Auswertung von Ausdrücken
Harald Räcke 78
![Page 3: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/3.jpg)
Operatoren
Unäre Operatoren:
symbol name types L/R level++ Post-increment (var) zahl, char links 2-- Post-decrement (var) zahl, char links 2++ Pre-increment (var) zahl, char rechts 3-- Pre-decrement (var) zahl, char rechts 3+ unäres Plus zahl, char rechts 3- unäres Minus zahl, char rechts 3
! Negation boolean rechts 3
5.3 Auswertung von Ausdrücken
Harald Räcke 80/656
5.3 Auswertung von Ausdrücken
Ein Ausdruck ist eine Kombination von Literalen, Operatoren,
Funktionen, Variablen und Klammern, die verwendet wird, um
einen Wert zu berechnen.
Beispiele: (x z.B. vom Typ int)
ñ 7 + 4
ñ 3 / 5 + 3
ñ min(3,x) + 20
ñ x = 7
ñ x *= 2
5.3 Auswertung von Ausdrücken
Harald Räcke 79
![Page 4: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/4.jpg)
Achtung
5.3 Auswertung von Ausdrücken
Harald Räcke 81/656
Operatoren
Unäre Operatoren:
symbol name types L/R level++ Post-increment (var) zahl, char links 2-- Post-decrement (var) zahl, char links 2++ Pre-increment (var) zahl, char rechts 3-- Pre-decrement (var) zahl, char rechts 3+ unäres Plus zahl, char rechts 3- unäres Minus zahl, char rechts 3
! Negation boolean rechts 3
5.3 Auswertung von Ausdrücken
Harald Räcke 80
![Page 5: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/5.jpg)
Prefix- und Postfixoperator
ñ Die Operatoranwendungen ++x und x++ inkrementieren
beide den Wert der Variablen x (als Seiteneffekt).
ñ ++x tut das, bevor der Wert des Ausdrucks ermittelt wird
(Pre-Increment).
ñ x++ tut das, nachdem der Wert ermittelt wurde
(Post-Increment).
ñ b = x++; entspricht:
b = x;x = x + 1;
ñ b = ++x; entspricht:
x = x + 1;b = x;
5.3 Auswertung von Ausdrücken
Harald Räcke 82/656
Achtung
5.3 Auswertung von Ausdrücken
Harald Räcke 81
![Page 6: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/6.jpg)
Operatoren
Binäre arithmetische Operatoren:
byte, short, char werden nach int konvertiert
symbol name types L/R level
* Multiplikation zahl, char links 4/ Division zahl, char links 4
% Modulo zahl, char links 4+ Addition zahl, char links 5- Subtraktion zahl, char links 5
Konkatenation
symbol name types L/R level+ Konkatenation string links 5
5.3 Auswertung von Ausdrücken
Harald Räcke 83/656
Prefix- und Postfixoperator
ñ Die Operatoranwendungen ++x und x++ inkrementieren
beide den Wert der Variablen x (als Seiteneffekt).
ñ ++x tut das, bevor der Wert des Ausdrucks ermittelt wird
(Pre-Increment).
ñ x++ tut das, nachdem der Wert ermittelt wurde
(Post-Increment).
ñ b = x++; entspricht:
b = x;x = x + 1;
ñ b = ++x; entspricht:
x = x + 1;b = x;
5.3 Auswertung von Ausdrücken
Harald Räcke 82
![Page 7: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/7.jpg)
Operatoren
Vergleichsoperatoren:
symbol name types L/R level
> größer zahl, char links? 7>= größergleich zahl, char links? 7< kleiner zahl, char links? 7<= kleinergleich zahl, char links? 7== gleich primitiv links 8
!= ungleich primitiv links 8
5.3 Auswertung von Ausdrücken
Harald Räcke 84/656
Operatoren
Binäre arithmetische Operatoren:
byte, short, char werden nach int konvertiert
symbol name types L/R level
* Multiplikation zahl, char links 4/ Division zahl, char links 4
% Modulo zahl, char links 4+ Addition zahl, char links 5- Subtraktion zahl, char links 5
Konkatenation
symbol name types L/R level+ Konkatenation string links 5
5.3 Auswertung von Ausdrücken
Harald Räcke 83
![Page 8: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/8.jpg)
Operatoren
Boolsche Operatoren:
symbol name types L/R level
&& Und-Bedingung boolean links 12|| Oder-Bedingung boolean links 13
5.3 Auswertung von Ausdrücken
Harald Räcke 85/656
Operatoren
Vergleichsoperatoren:
symbol name types L/R level
> größer zahl, char links? 7>= größergleich zahl, char links? 7< kleiner zahl, char links? 7<= kleinergleich zahl, char links? 7== gleich primitiv links 8
!= ungleich primitiv links 8
5.3 Auswertung von Ausdrücken
Harald Räcke 84
![Page 9: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/9.jpg)
Operatoren
Zuweisungsoperatoren:
symbol name types L/R level= Zuweisung var, wert rechts 15
*=,/=, %=,
+=, -=Zuweisung var, wert rechts 15
Für die letzte Form gilt:
v ◦= a ⇐⇒ v = (type(v)) (v ◦ a)
5.3 Auswertung von Ausdrücken
Harald Räcke 86/656
Operatoren
Boolsche Operatoren:
symbol name types L/R level
&& Und-Bedingung boolean links 12|| Oder-Bedingung boolean links 13
5.3 Auswertung von Ausdrücken
Harald Räcke 85
![Page 10: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/10.jpg)
Operatoren
Warnung:
ñ Eine Zuweisung x = y; ist in Wahrheit ein Ausdruck.
ñ Der Wert ist der Wert der rechten Seite.
ñ Die Modifizierung der Variablen x erfolgt als Seiteneffekt.
ñ Das Semikolon ’;’ hinter einem Ausdruck wirft nur den
Wert weg.
Fatal für Fehler in Bedingungen:
boolean x = false ;i f (x = true )
write ( " Sorry ! This must be an error . . . " ) ;
5.3 Auswertung von Ausdrücken
Harald Räcke 87/656
Operatoren
Zuweisungsoperatoren:
symbol name types L/R level= Zuweisung var, wert rechts 15
*=,/=, %=,
+=, -=Zuweisung var, wert rechts 15
Für die letzte Form gilt:
v ◦= a ⇐⇒ v = (type(v)) (v ◦ a)
5.3 Auswertung von Ausdrücken
Harald Räcke 86
![Page 11: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/11.jpg)
5.3 Auswertung von Ausdrücken
Assoziativität
ñ Die Assoziativität entscheidet über die Reihenfolge bei
Operatoren gleicher Priorität. (links = der linkeste Operator
wird zuerst ausgeführt)
ñ Alle Operatoren einer Prioritätsgruppe haben dieselbe
Assoziativität.
ñ Bis auf Zuweisungsoperatoren (=, +=, etc.) sind alle binären
Operatoren linksassoziativ.
ñ unäre Operatoren, die ihr Argument rechts erwarten sind
rechtsassoziativ
ñ unäre Operatoren, die ihr Argument links erwarten
(postfix-Operatoren ++, --) sind linksassoziativ
ñ Der ternäre Bedingungsoperator (später) ist rechtsassoziativ
Operatoren
Warnung:
ñ Eine Zuweisung x = y; ist in Wahrheit ein Ausdruck.
ñ Der Wert ist der Wert der rechten Seite.
ñ Die Modifizierung der Variablen x erfolgt als Seiteneffekt.
ñ Das Semikolon ’;’ hinter einem Ausdruck wirft nur den
Wert weg.
Fatal für Fehler in Bedingungen:
boolean x = false ;i f (x = true )
write ( " Sorry ! This must be an error . . . " ) ;
5.3 Auswertung von Ausdrücken
Harald Räcke 87
![Page 12: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/12.jpg)
5.3 Auswertung von Ausdrücken
Assoziativität
ñ Die Assoziativität entscheidet über die Reihenfolge bei
Operatoren gleicher Priorität. (links = der linkeste Operator
wird zuerst ausgeführt)
ñ Alle Operatoren einer Prioritätsgruppe haben dieselbe
Assoziativität.
ñ Bis auf Zuweisungsoperatoren (=, +=, etc.) sind alle binären
Operatoren linksassoziativ.
ñ unäre Operatoren, die ihr Argument rechts erwarten sind
rechtsassoziativ
ñ unäre Operatoren, die ihr Argument links erwarten
(postfix-Operatoren ++, --) sind linksassoziativ
ñ Der ternäre Bedingungsoperator (später) ist rechtsassoziativ
Operatoren
Warnung:
ñ Eine Zuweisung x = y; ist in Wahrheit ein Ausdruck.
ñ Der Wert ist der Wert der rechten Seite.
ñ Die Modifizierung der Variablen x erfolgt als Seiteneffekt.
ñ Das Semikolon ’;’ hinter einem Ausdruck wirft nur den
Wert weg.
Fatal für Fehler in Bedingungen:
boolean x = false ;i f (x = true )
write ( " Sorry ! This must be an error . . . " ) ;
5.3 Auswertung von Ausdrücken
Harald Räcke 87
![Page 13: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/13.jpg)
5.3 Auswertung von Ausdrücken
Assoziativität
ñ Die Assoziativität entscheidet über die Reihenfolge bei
Operatoren gleicher Priorität. (links = der linkeste Operator
wird zuerst ausgeführt)
ñ Alle Operatoren einer Prioritätsgruppe haben dieselbe
Assoziativität.
ñ Bis auf Zuweisungsoperatoren (=, +=, etc.) sind alle binären
Operatoren linksassoziativ.
ñ unäre Operatoren, die ihr Argument rechts erwarten sind
rechtsassoziativ
ñ unäre Operatoren, die ihr Argument links erwarten
(postfix-Operatoren ++, --) sind linksassoziativ
ñ Der ternäre Bedingungsoperator (später) ist rechtsassoziativ
Operatoren
Warnung:
ñ Eine Zuweisung x = y; ist in Wahrheit ein Ausdruck.
ñ Der Wert ist der Wert der rechten Seite.
ñ Die Modifizierung der Variablen x erfolgt als Seiteneffekt.
ñ Das Semikolon ’;’ hinter einem Ausdruck wirft nur den
Wert weg.
Fatal für Fehler in Bedingungen:
boolean x = false ;i f (x = true )
write ( " Sorry ! This must be an error . . . " ) ;
5.3 Auswertung von Ausdrücken
Harald Räcke 87
![Page 14: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/14.jpg)
5.3 Auswertung von Ausdrücken
Assoziativität
ñ Die Assoziativität entscheidet über die Reihenfolge bei
Operatoren gleicher Priorität. (links = der linkeste Operator
wird zuerst ausgeführt)
ñ Alle Operatoren einer Prioritätsgruppe haben dieselbe
Assoziativität.
ñ Bis auf Zuweisungsoperatoren (=, +=, etc.) sind alle binären
Operatoren linksassoziativ.
ñ unäre Operatoren, die ihr Argument rechts erwarten sind
rechtsassoziativ
ñ unäre Operatoren, die ihr Argument links erwarten
(postfix-Operatoren ++, --) sind linksassoziativ
ñ Der ternäre Bedingungsoperator (später) ist rechtsassoziativ
Operatoren
Warnung:
ñ Eine Zuweisung x = y; ist in Wahrheit ein Ausdruck.
ñ Der Wert ist der Wert der rechten Seite.
ñ Die Modifizierung der Variablen x erfolgt als Seiteneffekt.
ñ Das Semikolon ’;’ hinter einem Ausdruck wirft nur den
Wert weg.
Fatal für Fehler in Bedingungen:
boolean x = false ;i f (x = true )
write ( " Sorry ! This must be an error . . . " ) ;
5.3 Auswertung von Ausdrücken
Harald Räcke 87
![Page 15: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/15.jpg)
5.3 Auswertung von Ausdrücken
Assoziativität
ñ Die Assoziativität entscheidet über die Reihenfolge bei
Operatoren gleicher Priorität. (links = der linkeste Operator
wird zuerst ausgeführt)
ñ Alle Operatoren einer Prioritätsgruppe haben dieselbe
Assoziativität.
ñ Bis auf Zuweisungsoperatoren (=, +=, etc.) sind alle binären
Operatoren linksassoziativ.
ñ unäre Operatoren, die ihr Argument rechts erwarten sind
rechtsassoziativ
ñ unäre Operatoren, die ihr Argument links erwarten
(postfix-Operatoren ++, --) sind linksassoziativ
ñ Der ternäre Bedingungsoperator (später) ist rechtsassoziativ
Operatoren
Warnung:
ñ Eine Zuweisung x = y; ist in Wahrheit ein Ausdruck.
ñ Der Wert ist der Wert der rechten Seite.
ñ Die Modifizierung der Variablen x erfolgt als Seiteneffekt.
ñ Das Semikolon ’;’ hinter einem Ausdruck wirft nur den
Wert weg.
Fatal für Fehler in Bedingungen:
boolean x = false ;i f (x = true )
write ( " Sorry ! This must be an error . . . " ) ;
5.3 Auswertung von Ausdrücken
Harald Räcke 87
![Page 16: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/16.jpg)
5.3 Auswertung von Ausdrücken
Assoziativität
ñ Die Assoziativität entscheidet über die Reihenfolge bei
Operatoren gleicher Priorität. (links = der linkeste Operator
wird zuerst ausgeführt)
ñ Alle Operatoren einer Prioritätsgruppe haben dieselbe
Assoziativität.
ñ Bis auf Zuweisungsoperatoren (=, +=, etc.) sind alle binären
Operatoren linksassoziativ.
ñ unäre Operatoren, die ihr Argument rechts erwarten sind
rechtsassoziativ
ñ unäre Operatoren, die ihr Argument links erwarten
(postfix-Operatoren ++, --) sind linksassoziativ
ñ Der ternäre Bedingungsoperator (später) ist rechtsassoziativ
Operatoren
Warnung:
ñ Eine Zuweisung x = y; ist in Wahrheit ein Ausdruck.
ñ Der Wert ist der Wert der rechten Seite.
ñ Die Modifizierung der Variablen x erfolgt als Seiteneffekt.
ñ Das Semikolon ’;’ hinter einem Ausdruck wirft nur den
Wert weg.
Fatal für Fehler in Bedingungen:
boolean x = false ;i f (x = true )
write ( " Sorry ! This must be an error . . . " ) ;
5.3 Auswertung von Ausdrücken
Harald Räcke 87
![Page 17: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/17.jpg)
5.3 Auswertung von Ausdrücken
Die Auswertung eines Ausdrucks liefert
ñ eine Variable (var),
ñ einen reinen Wert (val) oder
ñ void (void)
In den ersten beiden Fällen hat der Ausdruck dann einen
ñ Typ, z.B.: int, und einen
ñ Wert, z.B.: 42
Für z.B. Zuweisungen muss die Auswertung des Ausdrucks auf
der linken Seite eine Variable ergeben!!!
5.3 Auswertung von Ausdrücken
Harald Räcke 89/656
5.3 Auswertung von Ausdrücken
Assoziativität
ñ Die Assoziativität entscheidet über die Reihenfolge bei
Operatoren gleicher Priorität. (links = der linkeste Operator
wird zuerst ausgeführt)
ñ Alle Operatoren einer Prioritätsgruppe haben dieselbe
Assoziativität.
ñ Bis auf Zuweisungsoperatoren (=, +=, etc.) sind alle binären
Operatoren linksassoziativ.
ñ unäre Operatoren, die ihr Argument rechts erwarten sind
rechtsassoziativ
ñ unäre Operatoren, die ihr Argument links erwarten
(postfix-Operatoren ++, --) sind linksassoziativ
ñ Der ternäre Bedingungsoperator (später) ist rechtsassoziativ
![Page 18: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/18.jpg)
5.3 Auswertung von Ausdrücken
In Java werden Unterausdrücke von links nach rechts
ausgewertet. D.h. um den Wert einer Operation zu berechnen:
ñ werte (rekursiv) alle Operanden von links nach rechts aus
ñ führe die Operation auf den Resultaten aus
Ausnahmen: ||, &&, und der ternäre Bedingungsoperator :?,
werten nicht all Operanden aus (Kurzschlussauswertung).
Man sollte nie Ausdrücke formulieren, deren Ergebnis von
der Auswertungsreihenfolge abhängt!!!
5.3 Auswertung von Ausdrücken
Harald Räcke 90/656
5.3 Auswertung von Ausdrücken
Die Auswertung eines Ausdrucks liefert
ñ eine Variable (var),
ñ einen reinen Wert (val) oder
ñ void (void)
In den ersten beiden Fällen hat der Ausdruck dann einen
ñ Typ, z.B.: int, und einen
ñ Wert, z.B.: 42
Für z.B. Zuweisungen muss die Auswertung des Ausdrucks auf
der linken Seite eine Variable ergeben!!!
5.3 Auswertung von Ausdrücken
Harald Räcke 89
![Page 19: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/19.jpg)
5.3 Auswertung von Ausdrücken
In Java werden Unterausdrücke von links nach rechts
ausgewertet. D.h. um den Wert einer Operation zu berechnen:
ñ werte (rekursiv) alle Operanden von links nach rechts aus
ñ führe die Operation auf den Resultaten aus
Ausnahmen: ||, &&, und der ternäre Bedingungsoperator :?,
werten nicht all Operanden aus (Kurzschlussauswertung).
Man sollte nie Ausdrücke formulieren, deren Ergebnis von
der Auswertungsreihenfolge abhängt!!!
5.3 Auswertung von Ausdrücken
Harald Räcke 90/656
5.3 Auswertung von Ausdrücken
Die Auswertung eines Ausdrucks liefert
ñ eine Variable (var),
ñ einen reinen Wert (val) oder
ñ void (void)
In den ersten beiden Fällen hat der Ausdruck dann einen
ñ Typ, z.B.: int, und einen
ñ Wert, z.B.: 42
Für z.B. Zuweisungen muss die Auswertung des Ausdrucks auf
der linken Seite eine Variable ergeben!!!
5.3 Auswertung von Ausdrücken
Harald Räcke 89
![Page 20: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/20.jpg)
5.3 Auswertung von Ausdrücken
Im folgenden betrachten wir Klammern als einen Operator der
nichts tut:
symbol name types L/R level
() Klammerung * links 0
5.3 Auswertung von Ausdrücken
Harald Räcke 91/656
5.3 Auswertung von Ausdrücken
In Java werden Unterausdrücke von links nach rechts
ausgewertet. D.h. um den Wert einer Operation zu berechnen:
ñ werte (rekursiv) alle Operanden von links nach rechts aus
ñ führe die Operation auf den Resultaten aus
Ausnahmen: ||, &&, und der ternäre Bedingungsoperator :?,
werten nicht all Operanden aus (Kurzschlussauswertung).
Man sollte nie Ausdrücke formulieren, deren Ergebnis von
der Auswertungsreihenfolge abhängt!!!
5.3 Auswertung von Ausdrücken
Harald Räcke 90
![Page 21: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/21.jpg)
Beispiel: 2 + x * (z - d)
2 + x * ( z – d )2 + x * ( z – d )
![Page 22: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/22.jpg)
Beispiel: 2 + x * (z - d)
2 + x * ( z – d )2 + x * ( z – d )
![Page 23: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/23.jpg)
Beispiel: 2 + x * (z - d)
2 + x * ( z – d )2 + x * ( z – d )
![Page 24: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/24.jpg)
Beispiel: 2 + x * (z - d)
2 + x * ( )
z – d
2 + x * ( )
z – d
![Page 25: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/25.jpg)
Beispiel: 2 + x * (z - d)
2 + x * ( )
z – d
2 + x * ( )
z – d
![Page 26: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/26.jpg)
Beispiel: 2 + x * (z - d)
2 + *
x ( )
z – d
2 + *
x ( )
z – d
![Page 27: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/27.jpg)
Beispiel: 2 + x * (z - d)
2 + *
x ( )
z – d
2 + *
x ( )
z – d
![Page 28: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/28.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
z – d
+
2 *
x ( )
z – d
![Page 29: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/29.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
z – d
+
2 *
x ( )
z – d
![Page 30: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/30.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
+
2 *
x ( )
–
z d
![Page 31: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/31.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 32: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/32.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 33: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/33.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 34: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/34.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 35: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/35.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 36: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/36.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 37: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/37.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 38: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/38.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 39: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/39.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 40: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/40.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 41: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/41.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 42: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/42.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 43: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/43.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 44: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/44.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 45: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/45.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 46: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/46.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 47: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/47.jpg)
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 48: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/48.jpg)
Beispiel: a = b = c = d = 0
a = b = c = d = 0a = b = c = d = 0
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 49: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/49.jpg)
Beispiel: a = b = c = d = 0
a = b = c = d = 0a = b = c = d = 0
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 50: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/50.jpg)
Beispiel: a = b = c = d = 0
a = b = c = d = 0a = b = c = d = 0
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 51: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/51.jpg)
Beispiel: a = b = c = d = 0
a = b = c = =
d 0
a = b = c = =
d 0
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 52: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/52.jpg)
Beispiel: a = b = c = d = 0
a = b = c = =
d 0
a = b = c = =
d 0
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 53: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/53.jpg)
Beispiel: a = b = c = d = 0
a = b = =
c =
d 0
a = b = =
c =
d 0
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 54: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/54.jpg)
Beispiel: a = b = c = d = 0
a = b = =
c =
d 0
a = b = =
c =
d 0
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 55: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/55.jpg)
Beispiel: a = b = c = d = 0
a = =
b =
c =
d 0
a = =
b =
c =
d 0
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 56: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/56.jpg)
Beispiel: a = b = c = d = 0
a = =
b =
c =
d 0
a = =
b =
c =
d 0
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 57: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/57.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
=
a =
b =
c =
d 0
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 58: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/58.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 59: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/59.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 60: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/60.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 61: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/61.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 62: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/62.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 63: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/63.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 64: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/64.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 65: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/65.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 66: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/66.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 67: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/67.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 68: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/68.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 69: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/69.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
=
a =
b =
c =
d 0
-3a 7b 5c 2d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 70: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/70.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
=
a =
b =
c =
d 0
-3a 7b 5c 0d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 71: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/71.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
=
a =
b =
c =
d 0
-3a 7b 5c 0d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 72: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/72.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
-3a 7b 0c 0d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 73: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/73.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
-3a 7b 0c 0d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 74: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/74.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
-3a 0b 0c 0d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 75: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/75.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
-3a 0b 0c 0d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 76: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/76.jpg)
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
Beispiel: 2 + x * (z - d)
+
2 *
x ( )
–
z d
2, intval
-3, intvar
5, intvar
7, intvar-2, int
val
-2, intval
6, intval
8, intval
+
2 *
x ( )
–
z d
-3x 7d 5z
![Page 77: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/77.jpg)
Beispiel: a != 0 && b/a < 10
a != 0 && b / a < 10a != 0 && b / a < 10
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 78: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/78.jpg)
Beispiel: a != 0 && b/a < 10
a != 0 && b / a < 10a != 0 && b / a < 10
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 79: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/79.jpg)
Beispiel: a != 0 && b/a < 10
a != 0 && b / a < 10a != 0 && b / a < 10
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 80: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/80.jpg)
Beispiel: a != 0 && b/a < 10
a != 0 && /
b a
< 10a != 0 && /
b a
< 10
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 81: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/81.jpg)
Beispiel: a != 0 && b/a < 10
a != 0 && /
b a
< 10a != 0 && /
b a
< 10
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 82: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/82.jpg)
Beispiel: a != 0 && b/a < 10
a != 0 && <
/
b a
10
a != 0 && <
/
b a
10
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 83: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/83.jpg)
Beispiel: a != 0 && b/a < 10
a != 0 && <
/
b a
10
a != 0 && <
/
b a
10
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 84: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/84.jpg)
Beispiel: a != 0 && b/a < 10
!=
a 0
&& <
/
b a
10
!=
a 0
&& <
/
b a
10
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 85: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/85.jpg)
Beispiel: a != 0 && b/a < 10
!=
a 0
&& <
/
b a
10
!=
a 0
&& <
/
b a
10
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 86: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/86.jpg)
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
10
&&
!=
a 0
<
/
b a
10
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 87: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/87.jpg)
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
10
&&
!=
a 0
<
/
b a
10
0a 4b
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 88: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/88.jpg)
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
10
&&
!=
a 0
<
/
b a
10
0a 4b
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 89: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/89.jpg)
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
&&
!=
a 0
<
/
b a
10
0a 4b
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 90: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/90.jpg)
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
&&
!=
a 0
<
/
b a
10
0a 4b
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 91: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/91.jpg)
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
&&
!=
a 0
<
/
b a
10
0a 4b
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 92: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/92.jpg)
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
&&
!=
a 0
<
/
b a
10
0a 4b
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 93: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/93.jpg)
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 94: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/94.jpg)
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 95: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/95.jpg)
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
Beispiel: a = b = c = d = 0
=
a =
b =
c =
d 0
-3, intvar
7, intvar
5, intvar
2, intvar
0, intval
0, intval
0, intval
0, intval
0, intval
=
a =
b =
c =
d 0
0a 0b 0c 0d
![Page 96: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/96.jpg)
Beispiel: y = x + ++x
y = x + ++ xy = x + ++ x
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 97: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/97.jpg)
Beispiel: y = x + ++x
y = x + ++ xy = x + ++ x
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 98: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/98.jpg)
Beispiel: y = x + ++x
y = x + ++ xy = x + ++ x
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 99: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/99.jpg)
Beispiel: y = x + ++x
y = x + ++
x
y = x + ++
x
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 100: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/100.jpg)
Beispiel: y = x + ++x
y = x + ++
x
y = x + ++
x
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 101: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/101.jpg)
Beispiel: y = x + ++x
y = +
x ++
x
y = +
x ++
x
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 102: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/102.jpg)
Beispiel: y = x + ++x
y = +
x ++
x
y = +
x ++
x
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 103: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/103.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
=
y +
x ++
x
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 104: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/104.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
=
y +
x ++
x
4x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 105: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/105.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
=
y +
x ++
x
4x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 106: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/106.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
=
y +
x ++
x
4x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 107: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/107.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
=
y +
x ++
x
4x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 108: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/108.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
=
y +
x ++
x
4x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 109: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/109.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
=
y +
x ++
x
4x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 110: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/110.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
=
y +
x ++
x
4x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 111: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/111.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
=
y +
x ++
x
4x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 112: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/112.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
=
y +
x ++
x
5x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 113: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/113.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
=
y +
x ++
x
5x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 114: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/114.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
=
y +
x ++
x
5x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 115: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/115.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
=
y +
x ++
x
5x 0y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 116: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/116.jpg)
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
Beispiel: a != 0 && b/a < 10
&&
!=
a 0
<
/
b a
100, intvar
0, intval
false, booleanval
false, booleanval
&&
!=
a 0
<
/
b a
10
0a 4b
![Page 117: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/117.jpg)
Beispiel: y = x++ + x
y = x ++ + xy = x ++ + x
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 118: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/118.jpg)
Beispiel: y = x++ + x
y = x ++ + xy = x ++ + x
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 119: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/119.jpg)
Beispiel: y = x++ + x
y = x ++ + xy = x ++ + x
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 120: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/120.jpg)
Beispiel: y = x++ + x
y = ++
x
+ xy = ++
x
+ x
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 121: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/121.jpg)
Beispiel: y = x++ + x
y = ++
x
+ xy = ++
x
+ x
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 122: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/122.jpg)
Beispiel: y = x++ + x
y = +
++
x
x
y = +
++
x
x
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 123: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/123.jpg)
Beispiel: y = x++ + x
y = +
++
x
x
y = +
++
x
x
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 124: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/124.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
=
y +
++
x
x
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 125: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/125.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
=
y +
++
x
x
4x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 126: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/126.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
=
y +
++
x
x
4x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 127: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/127.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
=
y +
++
x
x
4x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 128: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/128.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
=
y +
++
x
x
4x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 129: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/129.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
=
y +
++
x
x
4x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 130: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/130.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
=
y +
++
x
x
4x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 131: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/131.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
4, intval
=
y +
++
x
x
5x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 132: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/132.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
4, intval
=
y +
++
x
x
5x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 133: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/133.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
4, intval
5, intvar
=
y +
++
x
x
5x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 134: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/134.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
4, intval
5, intvar
=
y +
++
x
x
5x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 135: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/135.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
4, intval
5, intvar
9, intval
=
y +
++
x
x
5x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 136: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/136.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
4, intval
5, intvar
9, intval
=
y +
++
x
x
5x 0y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 137: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/137.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
4, intval
5, intvar
9, intval
9, intval
=
y +
++
x
x
5x 9y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 138: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/138.jpg)
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
4, intval
5, intvar
9, intval
9, intval
=
y +
++
x
x
5x 9y
Beispiel: y = x + ++x
=
y +
x ++
x
0, intvar
4, intvar
4, intvar
5, intval
9, intval
9, intval
=
y +
x ++
x
5x 9y
![Page 139: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/139.jpg)
Impliziter Typecast
Wenn ein Ausdruck vom TypA an einer Stelle verwendet wird, wo
ein Ausdruck vom TypB erforderlich ist, wird
ñ entweder der Ausdruck vom TypA in einen Ausdruck vom
TypB gecasted (impliziter Typecast),
ñ oder ein Compilerfehler erzeugt, falls dieser Cast nicht
(automatisch) erlaubt ist.
Beispiel: Zuweisung
long x = 5;int y = 3;x = y ; // impl iz i ter Cast von int nach long
Beispiel: y = x++ + x
=
y +
++
x
x
0, intvar
4, intvar
4, intval
5, intvar
9, intval
9, intval
=
y +
++
x
x
5x 9y
![Page 140: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/140.jpg)
Erlaubte Implizite Typecasts – Numerische Typen
byte
short
int
long
float
double
char
ganze Zahlen
Gleitkommazahlen
Konvertierung von long nach double oder von int nach float
kann Information verlieren wird aber automatisch durchgeführt.
Impliziter Typecast
Wenn ein Ausdruck vom TypA an einer Stelle verwendet wird, wo
ein Ausdruck vom TypB erforderlich ist, wird
ñ entweder der Ausdruck vom TypA in einen Ausdruck vom
TypB gecasted (impliziter Typecast),
ñ oder ein Compilerfehler erzeugt, falls dieser Cast nicht
(automatisch) erlaubt ist.
Beispiel: Zuweisung
long x = 5;int y = 3;x = y ; // impl iz i ter Cast von int nach long
![Page 141: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/141.jpg)
Welcher Typ wird benötigt?
Operatoren sind üblicherweise überladen, d.h. ein Symbol (+, -,
. . . ) steht in Abhängigkeit der Parameter (Argumente) für
unterschiedliche Funktionen.
+ : int -→ int
+ : long -→ long
+ : float -→ float
+ : double -→ double
+ : int× int -→ int
+ : long× long -→ long
+ : float× float -→ float
+ : double× double -→ double
+ : String× String -→ String
Der Compiler muss in der Lage sein während der Compilierung
die richtige Funktion zu bestimmen.
Erlaubte Implizite Typecasts – Numerische Typen
byte
short
int
long
float
double
char
ganze Zahlen
Gleitkommazahlen
Konvertierung von long nach double oder von int nach float
kann Information verlieren wird aber automatisch durchgeführt.
![Page 142: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/142.jpg)
Impliziter Typecast
Der Compiler wertet nur die Typen des Ausdrucksbaums aus.
ñ Für jeden inneren Knoten wählt er dann die geeignete
Funktion (z.B. + : long× long -→ long) falls ein +-Knoten
zwei long-Argumente erhält.
ñ Falls keine passende Funktion gefunden wird, versucht der
Compiler durch implizite Typecasts die Operanden an eine
Funktion anzupassen.
ñ Dies geschieht auch für selbstgeschriebene Funktionen (z.B.
min(int a, int b) und min(long a, long b)).
ñ Der Compiler nimmt die Funktion mit der speziellsten
Signatur.
Welcher Typ wird benötigt?
Operatoren sind üblicherweise überladen, d.h. ein Symbol (+, -,
. . . ) steht in Abhängigkeit der Parameter (Argumente) für
unterschiedliche Funktionen.
+ : int -→ int
+ : long -→ long
+ : float -→ float
+ : double -→ double
+ : int× int -→ int
+ : long× long -→ long
+ : float× float -→ float
+ : double× double -→ double
+ : String× String -→ String
Der Compiler muss in der Lage sein während der Compilierung
die richtige Funktion zu bestimmen.
![Page 143: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/143.jpg)
Speziellste Signatur
5.3 Auswertung von Ausdrücken
Harald Räcke 101/656
Impliziter Typecast
Der Compiler wertet nur die Typen des Ausdrucksbaums aus.
ñ Für jeden inneren Knoten wählt er dann die geeignete
Funktion (z.B. + : long× long -→ long) falls ein +-Knoten
zwei long-Argumente erhält.
ñ Falls keine passende Funktion gefunden wird, versucht der
Compiler durch implizite Typecasts die Operanden an eine
Funktion anzupassen.
ñ Dies geschieht auch für selbstgeschriebene Funktionen (z.B.
min(int a, int b) und min(long a, long b)).
ñ Der Compiler nimmt die Funktion mit der speziellsten
Signatur.
![Page 144: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/144.jpg)
Ordnungsrelationen
Relation �: TypA � TypB falls TypA nach TypB (implizit) gecasted
werden kann:
ñ reflexiv: T � Tñ transitiv: T1 � T2 ∧ T2 � T3 ⇒ T1 � T3
ñ antisymmetrisch: T1 � T2 ∧ T2 � T1 ⇒ T1 = T2
d.h., � definiert Halbordnung auf der Menge der Typen.
Relation �k: (T1, . . . , Tk) �k (T ′1, . . . , T ′k) falls Ti � T ′i für alle
i ∈ {1, . . . , k}.ñ reflexiv: T �k Tñ transitiv: T1 �k T2 ∧T2 �k T3 ⇒ T1 �k T3
ñ antisymmetrisch: T1 �k T2 ∧T2 �k T1 ⇒ T1 = T2
d.h., �k definiert Halbordnung auf der Menge der k-Tupel von
Typen.
Speziellste Signatur
5.3 Auswertung von Ausdrücken
Harald Räcke 101
![Page 145: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/145.jpg)
Ordnungsrelationen
Relation �: TypA � TypB falls TypA nach TypB (implizit) gecasted
werden kann:
ñ reflexiv: T � Tñ transitiv: T1 � T2 ∧ T2 � T3 ⇒ T1 � T3
ñ antisymmetrisch: T1 � T2 ∧ T2 � T1 ⇒ T1 = T2
d.h., � definiert Halbordnung auf der Menge der Typen.
Relation �k: (T1, . . . , Tk) �k (T ′1, . . . , T ′k) falls Ti � T ′i für alle
i ∈ {1, . . . , k}.ñ reflexiv: T �k Tñ transitiv: T1 �k T2 ∧T2 �k T3 ⇒ T1 �k T3
ñ antisymmetrisch: T1 �k T2 ∧T2 �k T1 ⇒ T1 = T2
d.h., �k definiert Halbordnung auf der Menge der k-Tupel von
Typen.
Speziellste Signatur
5.3 Auswertung von Ausdrücken
Harald Räcke 101
![Page 146: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/146.jpg)
f
T1 T2 Tk−1 Tk. . .
R1 f(T1)R2 f(T2)
...
R` f(T`)
T1, . . . ,T` sind k-Tupel von Typen für die eine Definition von fexistiert.
T = (T1, . . . , Tk) ist das k-tupel von Typen mit dem f aufgerufen
wird.
Menge aller möglichen Funktionen/Tupel:
M := {Ti|T �k Ti} .
Wähle kleinstes Element aus M falls M ein eindeutig kleinstes
Element besitzt (sonst Compilerfehler).
Ordnungsrelationen
Relation �: TypA � TypB falls TypA nach TypB (implizit) gecasted
werden kann:
ñ reflexiv: T � Tñ transitiv: T1 � T2 ∧ T2 � T3 ⇒ T1 � T3
ñ antisymmetrisch: T1 � T2 ∧ T2 � T1 ⇒ T1 = T2
d.h., � definiert Halbordnung auf der Menge der Typen.
Relation �k: (T1, . . . , Tk) �k (T ′1, . . . , T ′k) falls Ti � T ′i für alle
i ∈ {1, . . . , k}.ñ reflexiv: T �k Tñ transitiv: T1 �k T2 ∧T2 �k T3 ⇒ T1 �k T3
ñ antisymmetrisch: T1 �k T2 ∧T2 �k T1 ⇒ T1 = T2
d.h., �k definiert Halbordnung auf der Menge der k-Tupel von
Typen.
![Page 147: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/147.jpg)
f
T1 T2 Tk−1 Tk. . .
R1 f(T1)R2 f(T2)
...
R` f(T`)
T1, . . . ,T` sind k-Tupel von Typen für die eine Definition von fexistiert.
T = (T1, . . . , Tk) ist das k-tupel von Typen mit dem f aufgerufen
wird.
Menge aller möglichen Funktionen/Tupel:
M := {Ti|T �k Ti} .
Wähle kleinstes Element aus M falls M ein eindeutig kleinstes
Element besitzt (sonst Compilerfehler).
Ordnungsrelationen
Relation �: TypA � TypB falls TypA nach TypB (implizit) gecasted
werden kann:
ñ reflexiv: T � Tñ transitiv: T1 � T2 ∧ T2 � T3 ⇒ T1 � T3
ñ antisymmetrisch: T1 � T2 ∧ T2 � T1 ⇒ T1 = T2
d.h., � definiert Halbordnung auf der Menge der Typen.
Relation �k: (T1, . . . , Tk) �k (T ′1, . . . , T ′k) falls Ti � T ′i für alle
i ∈ {1, . . . , k}.ñ reflexiv: T �k Tñ transitiv: T1 �k T2 ∧T2 �k T3 ⇒ T1 �k T3
ñ antisymmetrisch: T1 �k T2 ∧T2 �k T1 ⇒ T1 = T2
d.h., �k definiert Halbordnung auf der Menge der k-Tupel von
Typen.
![Page 148: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/148.jpg)
f
T1 T2 Tk−1 Tk. . .
R1 f(T1)R2 f(T2)
...
R` f(T`)
T1, . . . ,T` sind k-Tupel von Typen für die eine Definition von fexistiert.
T = (T1, . . . , Tk) ist das k-tupel von Typen mit dem f aufgerufen
wird.
Menge aller möglichen Funktionen/Tupel:
M := {Ti|T �k Ti} .
Wähle kleinstes Element aus M falls M ein eindeutig kleinstes
Element besitzt (sonst Compilerfehler).
Ordnungsrelationen
Relation �: TypA � TypB falls TypA nach TypB (implizit) gecasted
werden kann:
ñ reflexiv: T � Tñ transitiv: T1 � T2 ∧ T2 � T3 ⇒ T1 � T3
ñ antisymmetrisch: T1 � T2 ∧ T2 � T1 ⇒ T1 = T2
d.h., � definiert Halbordnung auf der Menge der Typen.
Relation �k: (T1, . . . , Tk) �k (T ′1, . . . , T ′k) falls Ti � T ′i für alle
i ∈ {1, . . . , k}.ñ reflexiv: T �k Tñ transitiv: T1 �k T2 ∧T2 �k T3 ⇒ T1 �k T3
ñ antisymmetrisch: T1 �k T2 ∧T2 �k T1 ⇒ T1 = T2
d.h., �k definiert Halbordnung auf der Menge der k-Tupel von
Typen.
![Page 149: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/149.jpg)
Impliziter Typecast – Numerische Typen
Angenommen wir haben Funktionen
int min(int a, int b)
float min(float a, float b)
double min(double a, double b)
definiert.
1 long a = 7, b = 3;2 double d = min(a, b);
würde die Funktion float min(float a, float b) aufrufen.
5.3 Auswertung von Ausdrücken
Harald Räcke 104/656
f
T1 T2 Tk−1 Tk. . .
R1 f(T1)R2 f(T2)
...
R` f(T`)
T1, . . . ,T` sind k-Tupel von Typen für die eine Definition von fexistiert.
T = (T1, . . . , Tk) ist das k-tupel von Typen mit dem f aufgerufen
wird.
Menge aller möglichen Funktionen/Tupel:
M := {Ti|T �k Ti} .
Wähle kleinstes Element aus M falls M ein eindeutig kleinstes
Element besitzt (sonst Compilerfehler).
![Page 150: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/150.jpg)
Impliziter Typecast
Bei Ausdrücken mit Seiteneffekten (Zuweisungen, ++ , - -) gelten
andere Regeln:
Beispiel: Zuweisungen
= : byte∗ × byte -→ byte
= : char∗ × char -→ char
= : short∗ × short -→ short
= : int∗ × int -→ int
= : long∗ × long -→ long
= : float∗ × float -→ float
= : double∗ × double -→ double
Es wird nur der Parameter konvertiert, der nicht dem Seiteneffekt
unterliegt.
5.3 Auswertung von Ausdrücken
Harald Räcke 105/656
Impliziter Typecast – Numerische Typen
Angenommen wir haben Funktionen
int min(int a, int b)
float min(float a, float b)
double min(double a, double b)
definiert.
1 long a = 7, b = 3;2 double d = min(a, b);
würde die Funktion float min(float a, float b) aufrufen.
5.3 Auswertung von Ausdrücken
Harald Räcke 104
![Page 151: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/151.jpg)
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106/656
Impliziter Typecast
Bei Ausdrücken mit Seiteneffekten (Zuweisungen, ++ , - -) gelten
andere Regeln:
Beispiel: Zuweisungen
= : byte∗ × byte -→ byte
= : char∗ × char -→ char
= : short∗ × short -→ short
= : int∗ × int -→ int
= : long∗ × long -→ long
= : float∗ × float -→ float
= : double∗ × double -→ double
Es wird nur der Parameter konvertiert, der nicht dem Seiteneffekt
unterliegt.
5.3 Auswertung von Ausdrücken
Harald Räcke 105
![Page 152: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/152.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
x = min ( a , min ( a , b ) + 4L )x = min ( a , min ( a , b ) + 4L )
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 153: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/153.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
x = min ( a , min ( a , b ) + 4L )x = min ( a , min ( a , b ) + 4L )
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 154: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/154.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
x = min ( a , min ( a , b ) + 4L )x = min ( a , min ( a , b ) + 4L )
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 155: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/155.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
x = ( )
min a min ( a , b ) + 4L
x = ( )
min a min ( a , b ) + 4L
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 156: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/156.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
x = ( )
min a min ( a , b ) + 4L
x = ( )
min a min ( a , b ) + 4L
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 157: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/157.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
x = ( )
min a ( )
min a b
+ 4L
x = ( )
min a ( )
min a b
+ 4L
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 158: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/158.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
x = ( )
min a ( )
min a b
+ 4L
x = ( )
min a ( )
min a b
+ 4L
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 159: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/159.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
x = ( )
min a +
( )
min a b
4L
x = ( )
min a +
( )
min a b
4L
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 160: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/160.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
x = ( )
min a +
( )
min a b
4L
x = ( )
min a +
( )
min a b
4L
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 161: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/161.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 162: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/162.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 163: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/163.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 164: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/164.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 165: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/165.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 166: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/166.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 167: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/167.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 168: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/168.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 169: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/169.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 170: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/170.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 171: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/171.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 172: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/172.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 173: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/173.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 174: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/174.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 175: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/175.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
3, intval
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 176: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/176.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
3, intval
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 177: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/177.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
3, intval
4, longval
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 178: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/178.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
3, intval
4, longval
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 179: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/179.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
3, intval
4, longval
7, longval
long
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 180: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/180.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
3, intval
4, longval
7, longval
long
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 181: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/181.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
3, intval
4, longval
7, longval
3.0, floatval
long
float float
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 182: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/182.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
3, intval
4, longval
7, longval
3.0, floatval
long
float float
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 183: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/183.jpg)
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
3, intval
4, longval
7, longval
3.0, floatval
long
float float
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
ERROR
float is not casted to long
5.3 Auswertung von Ausdrücken
Der Funktionsaufrufoperator:
symbol name types L/R level
() Funktionsaufruf Funktionsname, * links 1
5.3 Auswertung von Ausdrücken
Harald Räcke 106
![Page 184: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/184.jpg)
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108/656
Beispiel: x = min(a, min(a,b) + 4L)
=
x ( )
min a +
( )
min a b
4L
7, longvar
◦, function list 3, intvar
◦, function list 3, intvar
5, intvar
3, intval
4, longval
7, longval
3.0, floatval
long
float float
=
x ( )
min a +
( )
min a b
4L
int min(int,int)float min(float,float)double min(double,double)
7long x 3int a 5int b
ERROR
float is not casted to long
![Page 185: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/185.jpg)
Beispiel: s = a + b
s = a + bs = a + b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 186: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/186.jpg)
Beispiel: s = a + b
s = a + bs = a + b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 187: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/187.jpg)
Beispiel: s = a + b
s = a + bs = a + b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 188: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/188.jpg)
Beispiel: s = a + b
s = +
a b
s = +
a b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 189: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/189.jpg)
Beispiel: s = a + b
s = +
a b
s = +
a b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 190: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/190.jpg)
Beispiel: s = a + b
=
s +
a b
=
s +
a b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 191: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/191.jpg)
Beispiel: s = a + b
=
s +
a b
=
s +
a b
String s "Hallo" 2a 6b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 192: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/192.jpg)
Beispiel: s = a + b
=
s +
a b
=
s +
a b
String s "Hallo" 2a 6b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 193: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/193.jpg)
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
=
s +
a b
String s "Hallo" 2a 6b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 194: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/194.jpg)
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
=
s +
a b
String s "Hallo" 2a 6b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 195: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/195.jpg)
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
=
s +
a b
String s "Hallo" 2a 6b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 196: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/196.jpg)
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
=
s +
a b
String s "Hallo" 2a 6b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 197: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/197.jpg)
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
=
s +
a b
String s "Hallo" 2a 6b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 198: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/198.jpg)
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
=
s +
a b
String s "Hallo" 2a 6b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 199: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/199.jpg)
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 200: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/200.jpg)
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 201: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/201.jpg)
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
ERROR
int is not casted to String
Impliziter Typecast – Strings
Spezialfall
ñ Falls beim Operator + ein Typ vom Typ String ist, wird der
andere auch in einen String umgewandelt.
=⇒ Stringkonkatenation.
ñ Jeder Typ in Java besitzt eine Stringrepresentation.
Funktioniert nicht bei selbstgeschriebenen Funktionen.
5.3 Auswertung von Ausdrücken
Harald Räcke 108
![Page 202: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/202.jpg)
Beispiel: s = "" + a + b
s = "" + a + bs = "" + a + b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 203: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/203.jpg)
Beispiel: s = "" + a + b
s = "" + a + bs = "" + a + b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 204: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/204.jpg)
Beispiel: s = "" + a + b
s = "" + a + bs = "" + a + b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 205: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/205.jpg)
Beispiel: s = "" + a + b
s = +
"" a
+ bs = +
"" a
+ b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 206: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/206.jpg)
Beispiel: s = "" + a + b
s = +
"" a
+ bs = +
"" a
+ b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 207: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/207.jpg)
Beispiel: s = "" + a + b
s = +
+
"" a
b
s = +
+
"" a
b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 208: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/208.jpg)
Beispiel: s = "" + a + b
s = +
+
"" a
b
s = +
+
"" a
b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 209: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/209.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
=
s +
+
"" a
b
String s "Hallo" 2a 6b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 210: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/210.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
=
s +
+
"" a
b
String s "Hallo" 2a 6b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 211: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/211.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
=
s +
+
"" a
b
String s "Hallo" 2a 6b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 212: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/212.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
=
s +
+
"" a
b
String s "Hallo" 2a 6b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 213: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/213.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 214: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/214.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 215: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/215.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
=
s +
+
"" a
b
String s "Hallo" 2a 6b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 216: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/216.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
=
s +
+
"" a
b
String s "Hallo" 2a 6b
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 217: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/217.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
String
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 218: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/218.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
String
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 219: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/219.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
String
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 220: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/220.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
String
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 221: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/221.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
String
String
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 222: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/222.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
String
String
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 223: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/223.jpg)
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
Beispiel: s = a + b
=
s +
a b
"Hallo", Stringvar
2, intvar
6, intvar
8, intval
=
s +
a b
String s "Hallo" 2a 6b
![Page 224: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/224.jpg)
Beispiel: s = s + 1
s = s + 1s = s + 1
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 225: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/225.jpg)
Beispiel: s = s + 1
s = s + 1s = s + 1
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 226: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/226.jpg)
Beispiel: s = s + 1
s = s + 1s = s + 1
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 227: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/227.jpg)
Beispiel: s = s + 1
s = +
s 1
s = +
s 1
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 228: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/228.jpg)
Beispiel: s = s + 1
s = +
s 1
s = +
s 1
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 229: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/229.jpg)
Beispiel: s = s + 1
=
s +
s 1
=
s +
s 1
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 230: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/230.jpg)
Beispiel: s = s + 1
=
s +
s 1
=
s +
s 1
4short s
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 231: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/231.jpg)
Beispiel: s = s + 1
=
s +
s 1
=
s +
s 1
4short s
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 232: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/232.jpg)
Beispiel: s = s + 1
=
s +
s 1
4, shortvar
=
s +
s 1
4short s
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 233: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/233.jpg)
Beispiel: s = s + 1
=
s +
s 1
4, shortvar
=
s +
s 1
4short s
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 234: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/234.jpg)
Beispiel: s = s + 1
=
s +
s 1
4, shortvar
4, shortvar
=
s +
s 1
4short s
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 235: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/235.jpg)
Beispiel: s = s + 1
=
s +
s 1
4, shortvar
4, shortvar
=
s +
s 1
4short s
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 236: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/236.jpg)
Beispiel: s = s + 1
=
s +
s 1
4, shortvar
4, shortvar
1, intval
=
s +
s 1
4short s
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 237: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/237.jpg)
Beispiel: s = s + 1
=
s +
s 1
4, shortvar
4, shortvar
1, intval
=
s +
s 1
4short s
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 238: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/238.jpg)
Beispiel: s = s + 1
=
s +
s 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
s 1
int
4short s
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 239: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/239.jpg)
Beispiel: s = s + 1
=
s +
s 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
s 1
int
4short s
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 240: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/240.jpg)
Beispiel: s = s + 1
=
s +
s 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
s 1
int
4short s
ERRORint is not casted to short
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 241: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/241.jpg)
Beispiel: s = s + 1
=
s +
s 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
s 1
int
4short s
ERRORint is not casted to short
Beispiel: s = "" + a + b
=
s +
+
"" a
b
"Hallo", Stringvar
"", Stringval
2, intvar
"2", Stringval
6, intval
"26", Stringval
"26", Stringval
=
s +
+
"" a
b
String s "Hallo" 2a 6b
"26"
String
String
![Page 242: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/242.jpg)
Beispiel: s = 7 + 1
s = 7 + 1s = 7 + 1
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 243: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/243.jpg)
Beispiel: s = 7 + 1
s = 7 + 1s = 7 + 1
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 244: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/244.jpg)
Beispiel: s = 7 + 1
s = 7 + 1s = 7 + 1
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 245: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/245.jpg)
Beispiel: s = 7 + 1
s = +
7 1
s = +
7 1
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 246: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/246.jpg)
Beispiel: s = 7 + 1
s = +
7 1
s = +
7 1
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 247: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/247.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
=
s +
7 1
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 248: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/248.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
=
s +
7 1
4short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 249: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/249.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
=
s +
7 1
4short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 250: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/250.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
=
s +
7 1
4short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 251: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/251.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
=
s +
7 1
4short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 252: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/252.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
7, intval
=
s +
7 1
4short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 253: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/253.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
7, intval
=
s +
7 1
4short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 254: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/254.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
7, intval
1, intval
=
s +
7 1
4short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 255: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/255.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
7, intval
1, intval
=
s +
7 1
4short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 256: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/256.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
7, intval
1, intval
8, intval
=
s +
7 1
4short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 257: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/257.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
7, intval
1, intval
8, intval
=
s +
7 1
4short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 258: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/258.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
7, intval
1, intval
8, intval
8, shortval
=
s +
7 1
8short s
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 259: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/259.jpg)
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
7, intval
1, intval
8, intval
8, shortval
=
s +
7 1
8short s
compile-time constantexpression
Beispiel: s = s + 1
=
s +
7 1
4, shortvar
4, shortvar
1, intval
5, intval
=
s +
7 1
int
4short s
ERRORint is not casted to short
![Page 260: 5.3 Auswertung von Ausdrücken · 5.3 Auswertung von Ausdrücken Harald Räcke 80/656 5.3 Auswertung von Ausdrücken EinAusdruckist eine Kombination von Literalen, Operatoren, Funktionen,](https://reader031.fdocuments.net/reader031/viewer/2022011904/5f1af6b015f7d50a4549a398/html5/thumbnails/260.jpg)
Expliziter Typecast
symbol name type L/R level
(type) typecast zahl, char rechts 3
Beispiele mit Datenverlust
ñ short s = ( short ) 23343445;
Die obersten bits werden einfach weggeworfen...
ñdouble d = 1.5;short s = ( short ) d ;
d hat danach den Wert 1.
...ohne Datenverlust:
ñin t x = 5;short s = ( short ) x ;
Beispiel: s = 7 + 1
=
s +
7 1
4, shortvar
7, intval
1, intval
8, intval
8, shortval
=
s +
7 1
8short s
compile-time constantexpression