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 erstrebenswert 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.

Sie 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 Sie verwenden, sollte Wert auf Übersichtlichkeit legen.

Die richtige Frage stellen

Angenommen Sie kaufen gerade im Einkaufszentrum ein und finden einen Pullover, der Ihnen gefällt, aber (durch den impulsiven Kauf des Gebäcks) könnten Sie nicht genug Geld haben, um ihn zu kaufen. Hier ist ein Programm, das entscheidet ob Sie den Pullover bekommen:

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 Sie 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 finanzwirtschaftlichen Dingen zu tun haben, verwenden für ihre Berechnungen häufig Ganzzahlen. Wie Sie 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.)