Entscheidungen

[Startseite]


Vorwort ] Voraussetzungen ] JAVA ] Implementierung von Klassen ] Erste Programme ] Klassenbibliothek ] Installation ] Applets ] Mehr JAVA ] Inside stiftUndCo ] Beispiele ] Downloads ]

Bezeichner
Kommentare
Anweisungen
Zuweisung
Entscheidungen
Boolesche Ausdrücke
Schleifen
Variablendeklaration
Konstantendeklarationen
Einfache Datentypen
Arithmetische Operatoren
Zeichenketten
Felder
Typzusicherungen
Methoden
Klassenmethoden
Entscheidungen

Ein- und zweiseitige Entscheidungen ähneln den entsprechenden Konstrukten in anderen Programmiersprachen. Der boolesche Ausdruck, der über die Ausführung des nachfolgenden Anweisungsblocks entscheidet, steht in Klammern. Danach folgt unmittelbar (also ohne das für PASCAL übliche "then") der Anweisungsblock. Bei zweiseitigen Entscheidungen folgt das Schlüsselwort else und ein weiterer Anweisungsblock.

Beispiele

Einseitige Entscheidungen:

if (<boolescher Ausdruck>) { <Anweisungsfolge> }

 

Beispiel:

if (i<5) { stift.schreibe("i ist kleiner als 5");}

 

Zweiseitige Entscheidungen

if (<boolescher Ausdruck>)

{ <Anweisungsfolge> } else

{ <Anweisungsfolge> }

 

if ((i<5)

{

stift.schreibe("i ist kleiner als 5");

} else

{

stift.schreibe("i ist größer oder gleich 5");

}

 

Mehrseitige Entscheidungen

Mehrseitige Entscheidungen generiert man mit Hilfe der switch-Anweisung. Die Konstruktion ähnelt sehr der Case-Anweisung in PASCAL, weist aber einige wichtige semantische Unterschiede auf:

 

Mit Hilfe der switch-Anweisung kann über den Wert eines Selektors bestimmt werden, welche Anweisungen ausgeführt werden sollen. Zulässige Ausdrücke für den Selektor sind nur solche, die Werte der Typen int, char, byte oder short liefern. Jede Möglichkeit wird über eine mit dem Schlüsselwort case eingeleitete Marke erreicht. Optional kann eine default-Marke angegeben werden.

 

switch (<Ausdruck>) {

case <wert> : <Anweisungsfolge>

case <wert> : <Anweisungsfolge>

...

case <wert> : <Anweisungsfolge>

default: <Anweisungsfolge>

}

 

!Achtung !:Bei der Ausführung der switch-Anweisung wird die passende Marke angesprungen. Es werden anschließend alle folgenden Anweisungen ausgeführt, auch die, die hinter den nachfolgenden Marken stehen, es sei denn, die Anweisung break wird erreicht. Um die case-Anweisung von PASCAL zu imitieren, wird man also hinter die Anweisungsfolge jeder Marke eine break-Anweisung setzen.

Beispiel:

Diese folgende switch-Anweisung liefert die Ausgabe "fünf".

 

i= 5;

switch (i)

{

case 3: stift.schreibe("drei");break;

case 4: stift.schreibe("vier");break;

case 5: stift.schreibe("fünf");break;

case 6: stift.schreibe("sechs");break;

default : stift.schreibe("mehr als sechs oder weniger als drei");

}

 

Anders ist dagegen das Ergebnis von:

 

i= 5;

switch (i)

{

case 3: stift.schreibe("drei");

case 4: stift.schreibe("vier");

case 5: stift.schreibe("fünf");

case 6: stift.schreibe("sechs");

default : stift.schreibe("mehr als sechs oder weniger als drei");

}

 

Jetzt erhält man die Ausgabe:

"fünf sechs mehr als sechs oder weniger als drei"

 

 


Seitenanfang

© Georg Dick