Java Reference
In-Depth Information
Eine Variablendefinition kann entweder im Definitionsteil eines Programms oder im Anweisungsteil
innerhalb eines Prozedur- oder Funktionsrumpfes erfolgen. Im ersten Fall spricht man von globalen ,
im zweiten Fall von lokalen Variablen.
Variablen sind nur in ihrem Gültigkeitsbereich zugreifbar. Der Gültigkeitsbereich globaler Variablen
erstreckt sich über das gesamte Programm, der Gültigkeitsbereich lokaler Variablen ist auf den Block
beschränkt, in dem die Variablen definiert werden. Im Gültigkeitsbereich einer globalen Variablen
darf keine weitere globale Variable mit demselben Namen definiert werden, analoges gilt für lokale
Variablen. Allerdings dürfen imGültigkeitsbereich globaler Variablen gleichnamige lokale Variablen
definiert werden.
Während der Gültigkeitsbereich von Variablen eine zur Compilierzeit relevante Größe ist, ist die
Lebensdauer einer Variablen zur Laufzeit des Programms von Bedeutung. Die Lebensdauer globaler
Variablen erstreckt sich über die gesamte Laufzeit des Programms. Bei lokalen Variablen beginnt
die Lebensdauer, sobald die entsprechende Definitionsanweisung ausgeführt wird, und sie endet,
nachdem der Block, in dem die Variable definiert wurde, vollständig abgearbeitet worden ist.
14.8.2 Ausdrücke
Ausdrücke sind Verarbeitungsvorschriften zur Ermittlung eines Wertes. Abhängig vom Typ des Wer-
tes, den sie liefern, werden Ausdrücke voneinander unterschieden. Ausdrücke, die einen Wert vom
Typ boolean liefern, werden als boolesche Ausdrücke, Ausdrücke, die einen Wert vom Typ int
liefern, als arithmetische Ausdrücke bezeichnet.
Einfache Ausdrücke werden gebildet aus typspezifischen Literalen, Variablennamen oder Funkti-
onsaufrufen. Mit Hilfe von Operatoren und runden Klammern lassen sich komplexere Ausdrücke
bilden. Es existieren unäre und binäre Operatoren, d.h. Operatoren mit einem oder zwei Operanden.
Binäre Operatoren werden in der Infix-Notation verwendet, d.h. der Operator steht (syntaktisch)
zwischen seinen beiden Operanden. Für unäre Operatoren wird die Postfix-Notation eingesetzt (der
Operand folgt dem Operatorzeichen).
Wir haben bisher drei verschiedene Typen von Operatoren kennengelernt: Boolesche Operatoren
verknüpfen Operanden vom Typ boolean und liefern einen booleschen Wert, arithmetische Opera-
toren verknüpfen Operanden vom Typ int und liefern einen Wert vom Typ int , Vergleichsoperato-
ren verknüpfen Operanden vom Typ int und liefern einen Wert vom Typ boolean .
Von Bedeutung für die Auswertung von komplexen Ausdrücken sind die Priorität und Assoziativität
der auftretenden Operatoren. Die Eigenschaften aller bisher eingeführter Operatoren werden in der
folgenden Tabelle nochmal zusammengefasst.
Prio Op Operand(en)
Typ
Assoz
Funktionalität
1
int
int
rechts
unäres plus
+
1
int
int
rechts
unäres minus
-
1
boolean
boolean
rechts
logische Negation
!
2
int
int
links
Multiplikation
*
2
/
int
int
links
Ganzzahldivision
 
Search WWH ::




Custom Search