zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite
if ( boolescherAusdruck ){
    eine oder mehr Anweisungen
}else {
    eine oder mehr Anweisungen }

Antwort:

Ja. Es ist logisch das Gleiche wie:

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

Einige Programmierer verwenden den ersten Stil, um Zeilen zu "sparen". Das war früher notwendig als Terminals nur 23 Zeilen darstellen konnten. Aber dieser Stil macht es leichter einige Fehlertypen zu übersehen, was zu mehr Zeit für das Debuggen führt. (Das konnte in experimentellen Studien bewiesen werden.)

Heute, da Bildschirme viel mehr Zeilen darstellen können, ist es klug einen Stil zu verwenden, der zu weniger Fehlern führt.

Wir werden immer noch zeilensparende Stile in Büchern sehen, da sie weniger Papier brauchen und die Druckkosten verringern. Aber wenn ein Programm auf dem Bildschirm dargestellt wird, sind die Zeilen umsonst, und der Stil, den wir verwenden, sollte Wert auf Übersichtlichkeit legen.

Die richtige Frage stellen

Angenommen wir kaufen gerade im Einkaufszentrum ein und finden einen Pullover zum Preis von $44.95, der uns gefällt, aber (durch den impulsiven Kauf des Gebäcks) könnten wir nicht genug Geld haben, um ihn zu kaufen. Hier ist ein Programm, das entscheidet ob wir uns den Pullover noch leisten können:

import java.util.Scanner;
class PulloverKauf
{
  public static void main (String[] args)
  {
    final int PREIS = 4495;    // Preis in Pennies

    Scanner scan = new Scanner( System.in );

    int    bargeld;

    System.out.println("Wie viel haben Sie, in Pennies?");
    bargeld   = scan.nextInt();

    if (   )
      System.out.println("Sie koennen den Pullover kaufen." );
    else
    {
      System.out.println("Sie koennen den Pullover nicht kaufen." );
      System.out.println("Sie brauchen $" +
        (PREIS-bargeld)/100 + "." + (PREIS-bargeld)%100 + " mehr." );
    }

  }
}

Das reservierte Wort final in der fünften Zeile besagt, dass der in PREIS enthaltene Wert sich zur Laufzeit des Programms nicht ändern wird. Wenn wir final verwenden, wird der Compiler Sie keine Anweisung schreiben lassen, die versucht den Wert zu ändern. Das ist nützlich, um Bugs zu vermeiden.

Warum Pennies? Programme, die mit Geld zu tun haben, verwenden für ihre Berechnungen häufig Ganzzahlen. Wie wir gesehen haben ist Gleitpunkt nicht exakt, und Leute regen sich auf, wenn finanzwirtschaftliche Berechnungen nicht genau sind.

FRAGE 7:

Welcher Boole'sche Ausdruck sollte in der Lücke stehen? (Vorausgesetzt, dass es keine Verkaufssteuer gibt.)