zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

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

Kein Kuchen heute.

Verschiedene if-Anweisungen

Wie auch immer, Sie 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 (sehen Sie dazu das nächste 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 Sie gesehen haben könnten. Ein Experiment mit einer Gruppe professioneller Programmierer hat das bestätigt. Natürlich, der Java Compiler ignoriert Einrückungen und leere Zeilen. Verwenden Sie 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 Sie verwenden, seien Sie konsistent. Verwenden Sie die gleiche Anzahl von Leerzeichen zum Einrücken. (Ich verwende zwei Leerzeichen. Viele Leute ziehen vier Leerzeichen vor.) Sie werden bald in der Lage sein, die Logik Ihres Programms 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 }