Java Reference
In-Depth Information
vor();
17
boolean probe = maulLeer();
18
// ...
19
probe = probe || test;
20
// ...
21
/* Ende von Block 1.2 */
22
}
23
/* Ende von Block 1 */
24
25 }
In dem Beispiel werden insgesamt drei Variablen definiert. Die Variable test ist gültig von Zeile
5 bis Zeile 24, kann also insbesondere in Zeile 5 und Zeile 20 benutzt werden. In Zeile 9 wird im
Block 1.1 eine Variable namens probe definiert. Diese Variable ist gültig von Zeile 10 bis zum Ende
von Block 1.1 in Zeile 13. Da der Gültigkeitsbereich der ersten Variable probe in Zeile 13 endet,
kann in Zeile 18 in Block 1.2 erneut eine Variable mit dem Namen probe definiert werden. Diese
ist gültig von Zeile 19 bis zum Ende des Blockes 1.2 in Zeile 22.
Im nächsten Beispiel sind drei syntaktische Fehler eingebaut worden:
1 void main() {
2
{
boolean test = vornFrei();
3
weiter();
4
}
5
test = !test;
// Fehler
6
7 }
8
9 void weiter() {
10
test = test || kornDa();
// Fehler
// ...
11
boolean probe = !probe;
// Fehler
12
// ...
13
boolean b1 = maulLeer(), b2 = !b1;
14
15 }
Der Gültigkeitsbereich der Variablen test erstreckt sich von Zeile 3 bis Zeile 4, d.h. der erste Fehler
wird vom Compiler in Zeile 6 gemeldet. Hier wird die Variable test außerhalb ihres Gültigkeitsbe-
reichs benutzt. Dasselbe gilt auch für Zeile 10, die den zweiten Fehler enthält.
Der dritte Fehler hat sich in Zeile 12 eingeschlichen. Der Gültigkeitsbereich einer Variablen beginnt
nämlich erst hinter der Variablendefinition. Insbesondere ist es also nicht zulässig, den Variablenna-
men bereits im Initialisierungsausdruck zu benutzen.
Die Definition in Zeile 14 ist jedoch korrekt; b1 wird vor b2 definiert und initialisiert, sodass die
Initialisierung von b2 mit der Negation des Wertes von b1 wohldefiniert ist.
Ebenfalls einen Fehler enthält das nächste Beispiel:
1 boolean istOk() {
2
boolean test = vornFrei() && kornDa();
while (test) {
3
nimm();
4
Search WWH ::




Custom Search