Titel   Inhalt   Suchen   Index   DOC  Handbuch der Java-Programmierung, 3. Auflage
 <<    <     >    >>   API  Kapitel 6 - Anweisungen

6.1 Elementare Anweisungen



6.1.1 Die leere Anweisung

Syntax

;

Bedeutung

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.

6.1.2 Der Block

Syntax

{
  Anweisung1;
  Anweisung2;
  ...
}

Bedeutung

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.

6.1.3 Variablendeklarationen

Syntax

Typname VariablenName;

oder

Typname VariablenName = InitialerWert;

Bedeutung

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:

 Hinweis 

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 }
Listing 6.1: Verdecken von Klassen- oder Instanzvariablen

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.

6.1.4 Ausdrucksanweisungen

Syntax

Ausdruck;

Bedeutung

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   DOC  Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0.1
 <<    <     >    >>   API  © 1998-2003 Guido Krüger, http://www.javabuch.de