zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Überraschenderweise (außer wenn Ihr aufgepasst haben) ist die Ausgabe:

Kein Kuchen heute.

Verschiedene if-Anweisungen

Wie auch immer, wir sollten kein Programm schreiben, das entweder true oder false bei einer == -Gleitpunktoperation erwartet.

Es gibt viele Möglichkeiten die if-Anweisung zu verwenden. Die Anweisung kann mit einem oder zwei Zweigen verwendet werden, und ein Zweig kann eine oder mehrere Anweisungen enthalten. Die Tabelle zeigt diese Varianten.

In jeder dieser Varianten ergibt der Boole'sche Ausdruck wahr oder falsch. Boole'sche Ausdrücke kommen in einer Vielzahl von Formen vor, die es Ihnen erlauben die Bedingungen sorgfältig anzugeben, unter denen jeder Zweig ausgeführt werden wird (weiteres dazu folgt im nächsten Kapitel).

Varianten von if-Anweisungen
if ( boolescherAusdruck )
    Anweisung;
if ( boolescherAusdruck )
{
    eine oder mehr Anweisungen
}
if ( boolescherAusdruck )
    Anweisung;
else
    Anweisung;
if ( boolescherAusdruck )
{
    eine oder mehr Anweisungen
}
else
{
    eine oder mehr Anweisungen
}
if ( boolescherAusdruck )
    Anweisung;
else
{
    eine oder mehr Anweisungen
}
if ( boolescherAusdruck )
{
    eine oder mehr Anweisungen
}
else
    Anweisung;

Der hier verwendete Stil des Einrückens führt zu weniger Fehlern als andere Stile, die Ihr gesehen haben könntet. Ein Experiment mit einer Gruppe professioneller Programmierer hat das bestätigt. Natürlich, der Java Compiler ignoriert Einrückungen und leere Zeilen. Verwendet diesen Stil, bis es einen guten Grund gibt es nicht zu tun (wie ein Arbeitgeber oder Ausbilder, der einen anderen Stil verlangt).

Egal welchen Stil Ihr verwendet, seid konsistent. Verwendet die gleiche Anzahl von Leerzeichen zum Einrücken. (Ich verwende zwei Leerzeichen. Manche Leute ziehen vier Leerzeichen vor.) Dadurch werdet Ihr in der Lage sein, die Logik Eures Programms besser sichtbar zu machen.

Programmieren und Fehlerbeseitigung wird dadurch leichter sein.



FRAGE 6:

Ist das Folgende eine korrekte if-Anweisung?

if ( boolescherAusdruck ){
    eine oder mehr Anweisungen
}else {
    eine oder mehr Anweisungen }