Titel | Inhalt | Suchen | Index | API | Go To Java 2, Zweite Auflage, Handbuch der Java-Programmierung |
<< | < | > | >> | Kapitel 6 - Anweisungen |
; |
Die einfachste Anweisung in Java ist die leere Anweisung. Sie besteht nur aus dem Semikolon und hat keinerlei Effekt auf das laufende Programm. Eine leere Anweisung kann da verwendet werden, wo syntaktisch eine Anweisung erforderlich ist, aber von der Programmlogik her nichts zu tun ist.
{ Anweisung1; Anweisung2; ... } |
Ein Block ist eine Zusammenfassung von Anweisungen, die nacheinander ausgeführt werden. Alle im Block zusammengefaßten Anweisungen gelten in ihrer Gesamtheit als eine einzelne Anweisung und dürfen überall da verwendet werden, wo syntaktisch eine einzelne elementare Anweisung erlaubt wäre. Ein Block darf auch Anweisungen zur Deklaration von lokalen Variablen haben. Diese sind dann nur innerhalb des Blocks gültig und sichtbar.
Typname VariablenName; |
oder
Typname VariablenName = InitialerWert; |
Die Deklaration einer lokalen Variable gilt in Java als ausführbare Anweisung. Sie darf daher überall dort erfolgen, wo eine Anweisung verwendet werden darf. Die Sichtbarkeit einer lokalen Variable erstreckt sich von der Deklaration bis zum Ende des umschließenden Blocks.
Lokale Variablen dürfen sich nicht gegenseitig verdecken. Es ist also nicht erlaubt, eine bereits deklarierte Variable x in einem tiefer geschachtelten Block erneut zu deklarieren. Das Verdecken von Klassen- oder Instanzvariablen dagegen ist zulässig und wird besonders häufig in Konstruktoren bei der Initialisierung von Instanzvariablen verwendet: |
|
001 class Punkt 002 { 003 int x; 004 int y; 005 006 Punkt(int x, int y) 007 { 008 this.x = x; 009 this.y = y; 010 } 011 } |
Hier wird eine Klasse Punkt definiert, die zwei Instanzvariablen x und y enthält. Der Konstruktor initialisiert die Instanzvariablen mit den gleichnamigen Parametern. Um nun nicht für die formalen Parameter neue Namen erfinden zu müssen, lassen sich durch lokale Variablen verdeckte Instanzvariablen dadurch wieder aufdecken, daß sie mit dem this-Pointer qualifiziert werden.
Das vorliegende Beispiel erscheint zum jetzigen Zeitpunkt sicherlich schwer verständlich, denn bisher wurden weder Klassen noch Methoden noch Konstruktoren eingeführt. Nach Lektüre von Kapitel 7, das sich mit den objektorientierten Eigenschaften von Java beschäftigt, wird es verständlicher sein. Einprägen sollte man sich diesen Stil aber jetzt schon, denn er wird in Java häufig verwendet.
Ausdruck; |
Ausdrucksanweisungen dienen dazu, Ausdrücke in einem Anweisungskontext auszuführen. Sie werden erzeugt, indem an den Ausdruck ein Semikolon angehängt wird. Da der Rückgabewert des Ausdrucks dabei ignoriert wird, macht eine Ausdrucksanweisung nur dann Sinn, wenn der Ausdruck Nebeneffekte hat. Tatsächlich ist es in Java so, daß innerhalb einer Ausdrucksanweisung nur ganz bestimmte Ausdrücke auftauchen dürfen:
Während es in C beispielsweise möglich ist, den Ausdruck 2+4 in eine Ausdrucksanweisung 2+4; zu verpacken, ist dies in Java nicht erlaubt. Eine solche Anweisung ist aber auch wenig sinnvoll, und es war daher nur vernünftig, dies in Java nicht zuzulassen.
Titel | Inhalt | Suchen | Index | API | Go To Java 2, Zweite Auflage, Addison Wesley, Version 2.0 |
<< | < | > | >> | © 2000 Guido Krüger, http://www.gkrueger.com |