IF-Abfragen

Um in einem Programm etwas entscheiden zu können, wäre es schon, wenn man eine WENN - DANN Möglichkeit hätte. Also dem Programm sagt, wenn eine Zahl gleich 5 ist, dann tue etwas. Wenn nicht, mache etwas anderes.
Diese Möglichkeit gibt es natürlich in JAVA. In Programmiersprachen heißt das WENN - DANN, IF - THEN.

Mein Beispiel von gerade würde in JAVA so aussehen:


                 [...]
                 if (Zahl == 5) {
                         System.out.println("Die Zahl war 5");
                 }
                 else {
                         System.out.println("Die Zahl war keine 5");
                 }
                 [...]

Auf deutsch, wenn (if) die Zahl gleich fünf ((Zahl == 5)), dann dann gebe "Die Zahl war 5" aus (System.out.println("Die Zahl war 5");). Wenn die Zahl NICHT fünf ist (else), dann dann gebe "Die Zahl war keine 5" aus. (System.out.println("Die Zahl war keine 5");).

Diejenigen, die aufgepasst haben, werden sich Fragen, ob if (Zahl == 5) { ein Schreibfehler ist. Nein, es ist keiner. Das doppelte Gleichheitszeichen == ist keine Zuweisung, sondern die Frage, ob der Wert von Zahl gleich 5 ist. Diese Frage gibt nur zwei Antworten zurück, WAHR oder FALSCH, bzw. true oder false.
Wenn die Antwort WAHR(true) ist, wird der erste Teil ausgeführt, wenn die Antwort FALSCH(false) ist der Teil nach dem else.

Es gibt in JAVA folgende Abfragen für nummerische Werte:

  • == entspricht gleich
  • != entspricht ungleich
  • > entspricht größer als
  • < entspricht kleiner als
  • >= entspricht größer gleich
  • <= entspricht kleiner gleich

Jede dieser Abfragen gibt als Ergebnis entweder true oder false zurück. Man bezeichnet so etwas auch als Boolschen Ausdruck. (Wir erinnern uns an den Datentyp boolean). Boolsche Ausdrücke können in der Programmierung sehr nützlich sein. Ich kann das Ergebnis eines komplizierten Vergleichs einfach in einer Variable vom Typ boolean speichern, indem ich das Ergebnis als WAHR(true) oder FALSCH(false) angebe.

Erweitern wir unser Kaffeetassen Programm um Abfragen. Wir möchten die Ausgabe der Kaffetassen von einer Bedingung abhängig machen. Wir ändern den Konstruktor von Kaffeetassen entsprechend ab.


                 [...]
                 // Kaffeetassen haben die Eigenschaften: Farbe, Höhe, Durchmesser, Henkel, Aufdruck
                 Kaffeetassen () {
                         Tassen[0] = new Tasse("Weiß", 10, 8, "Ja", "KIKISWEB");
                         Tassen[1] = new Tasse("Schwarz", 10, 8, "Ja", "JAVA");
                         Tassen[2] = new Tasse("Blau", 10, 8, "Ja", "SCHALKE");
                         Tassen[3] = new Tasse("Rot", 10, 8, "Ja", "BAYERN");
                         Tassen[4] = new Tasse("Gelb", 10, 8, "Nein", "BVB");

                         // Erst einmal eine Überschrift
                         System.out.println("Meine Kaffeetassen:");

                         // Dann die einzelnen Tassen
                         for(int i = 0; i < 5; i++) {
                                     Tassen[i].ausgeben();
                         }

                 // und den Konstruktor Kaffetassen wieder schließen.
                 }
                 [...]

Das Programm gibt es hier.

Als Schalker möchte ich die BVB Tasse nicht in meinen Ergebnissen haben. Also sollen alle Tassen ausgegeben werden, die NICHT die BVB Tasse sind. Anstatt der BVB Tasse soll noch einmal die Schalke-Tasse ausgegeben werden.


                 [...]
                 // Kaffeetassen haben die Eigenschaften: Farbe, Höhe, Durchmesser, Henkel, Aufdruck
                 Kaffeetassen () {
                         Tassen[0] = new Tasse("Weiß", 10, 8, "Ja", "KIKISWEB");
                         Tassen[1] = new Tasse("Schwarz", 10, 8, "Ja", "JAVA");
                         Tassen[2] = new Tasse("Blau", 10, 8, "Ja", "SCHALKE");
                         Tassen[3] = new Tasse("Rot", 10, 8, "Ja", "BAYERN");
                         Tassen[4] = new Tasse("Gelb", 10, 8, "Nein", "BVB");

                         // Erst einmal eine Überschrift
                         System.out.println("Meine Kaffeetassen:");

                         // Dann die einzelnen Tassen ohne den BVB(Index 4), stattdessen noch einmal Schalke(Index 2).
                         for(int i = 0; i < 5; i++) {
                              if(i != 4) {
                                         Tassen[i].ausgeben();
                                 }
                                 else {
                                         Tassen[2].ausgeben();
                                 }
                         }

                 // und den Konstruktor Kaffeetassen wieder schließen.
                 }
                 [...]

Ich weiß, dass die BVB Tasse den Index 4 hat. Also Frage ich in meinem Programm, ob der Index i den Wert 4 angenommen hat. Wenn das der Fall ist, wird die Schalke Tasse ausgegeben, die den Index 2 hat. Ganz einfach.

Das ganze Programm "am Stück" gibt es hier.

Die Abfrage von Zahlen sieht ja einfach aus, kümmern wir uns um Abfragen mit Strings.

Mit JAVA programmieren

Als Entwicklungsumgebung benutze ich NetBeans 7.

JAVA gibt es hier.