Java Reference
In-Depth Information
Die Variable int quadrat wird innerhalb des Blocks der while -Schleife definiert und ini-
tialisiert. Dies ist dann sinnvoll, wenn sicher ist, dass diese Variable außerhalb der
Schleife keine Bedeutung haben soll. Ihre Gültigkeit reicht vom Ort der Definition bis
zum Ende der while -Schleife (Zeilen 12 bis 15). Außerhalb der Schleife besitzt die Variable
keine Gültigkeit. Man kann dort nicht auf die Variable zugreifen. Probieren Sie es doch
einfach mal aus, indem Sie nach der Ausgabe der Summe noch die letzte Quadratzahl
ausgeben.
3
3.4.2
Namenskonflikte
Wie oben gezeigt, können im Gültigkeitsbereich einer Variablen untergeordnete Blöcke
eingebettet sein, die dann zum Gültigkeitsbereich dazugehören. Durch diesen Sachver-
halt können Namenskonflikte auftreten.
Benennen Sie die Variable quadrat im obigen Beispielprogramm um in n . Die Zeile int n
= z * z; wird daraufhin als fehlerhaft mit dem Hinweis »Duplicate local variable n« mar-
kiert. Da der Gültigkeitsbereich der ersten Variablen n auch die eingebettete while -
Schleife einschließt, kann dort nicht nochmals eine Variable mit dem gleichen Namen
definiert werden. Bei dem Versuch, auf die Variable n zuzugreifen, wäre nicht abgrenz-
bar, welche der beiden Variablen n gemeint ist. Deshalb verbietet Java diese Definition.
Innerhalb des Gültigkeitsbereichs einer Variablen darf es im Quellcode keine weitere
Variable mit dem gleichen Namen geben.
Andere Programmiersprachen lassen dies durchaus zu. Dort ist dann festgelegt, dass
ein Zugriff immer auf die zuletzt definierte Variable erfolgt. Auf die zuerst definierte
Variable ist dann kein Zugriff mehr möglich. Bei dieser Vereinbarung besteht aber die
Gefahr von Missverständnissen mit oft schwer zu findenden Programmierfehlern. Sol-
chen Missverständnissen soll durch die Festlegungen in Java vorgebeugt werden.
3.4.3
Lebensdauer
Neben dem Gültigkeitsbereich einer Variablen ist auch deren Lebensdauer zu beachten.
Die Lebensdauer einer Variablen ist das Zeitintervall, in dem die Variable zur Laufzeit
des Programms existiert.
Eine Variable, die in einer Schleife definiert ist, wird beim Ablauf des Programms unter
Umständen mehrfach erzeugt und auch wieder zerstört. Im Programm Summation
wird die Variable quadrat bei zehn Schleifendurchläufen entsprechend zehnmal
erzeugt. Nach jedem Schleifendurchlauf endet der Block und damit auch die Lebens-
dauer der darin erzeugten Variablen. Es existiert also zu jedem Zeitpunkt nur eine Vari-
able mit dem Namen quadrat .
Search WWH ::




Custom Search