Mehrere Möglichkeiten abfragen

Mit der If-Anweisung kann man einzelne Bedingungen abfragen. Natürlich kann man diese Bedingungen auch hintereinander ausführen, um mehrere Bedingungen abzufragen. Zum Beispiel:


                 if(Zahl == 5) {
                         System.out.println("Die Zahl war fünf");
                 }
                 else if(Zahl == 4) {
                                 System.out.println("Die Zahl war vier");
                         }
                         else if(Zahl == 3) {
                                         System.out.println("Die Zahl war drei");
                                 }
                                 else if(Zahl == 2) {
                                                 System.out.println("Die Zahl war zwei");
                                         }
                                         else if(Zahl == 1) {
                                                         System.out.println("Die Zahl war eins");
                                                 }
                                                 else {
                                                         System.out.println("Die Zahl war nicht zwischen eins und fünf");
                                                 }

                 }

In diesem Beispiel wird gestestet, ob der Inhalt der Variable Zahl eine Zahl zwischen 1 und 5 ist. Trifft die Bedingung nicht zu, wird eine Fehlermeldung ausgegeben.

Diese Methode kann bei vielen Möglichkeiten auf die dauer wirklich anstrengend werden. Man kommt dabei auch schnell durcheinander. Es stellt sich die Frage ob es nicht einfacher geht?

Es geht Einfacher! Mit der Anweisung switch - case. Unser Beispiel würde dann so aussehen:


                 switch(Zahl) {
                         case 1:
                                 System.out.println("Die Zahl war eins");
                                 break;

                         case 2:
                                 System.out.println("Die Zahl war zwei");
                                 break;

                         case 3:
                                 System.out.println("Die Zahl war drei");
                                 break;

                         case 4:
                                 System.out.println("Die Zahl war vier");
                                 break;

                         case 5:
                                 System.out.println("Die Zahl war fünf");
                                 break;

                         default:
                                 System.out.println("Die Zahl war nicht zwischen eins und fünf");
                 }

Dieses Beispiel tut genau das gleiche, wie das Beispiel oben. Es testet, ob der Wert in Zahl zwischen 1 und 5 ist und gibt eine Fehlermeldung aus, wenn dies nicht der Fall ist. Das ganze beginnt mit switch(Zahl), wobei Zahl ein Ausdruck sein muss in dem entweder eine ganze Zahl oder ein einzelner Buchstabe steht. case "fünf": würde NICHT funktionieren.

In unserem Programm würde das so aussehen:


                 // 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 und Bayern. Stattdessen wird eine Fehlermeldug ausgegeben.
                         for(int i = 0; i < 5; i++) {

                             switch(i) {
                                         case 0:
                                                 System.out.println("Kikisweb:");
                                                 System.out.println();
                                                 Tassen[i].ausgeben();
                                                 break;
                                         case 1:
                                                 System.out.println("Java:");
                                                 System.out.println();
                                                 Tassen[i].ausgeben();
                                                 break;
                                         case 2:
                                                 System.out.println("Schalke:");
                                                 System.out.println();
                                                 Tassen[i].ausgeben();
                                                 break;
                                         default:
                                                 System.out.println("Diese Tasse kann aus technischen Gründen nicht angezeigt werden !");
                                                 break;
                                 }
                         }

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

Die switch - case Anweisung sorgt dafür das die Tassen mit dem Index 0 - 2 angezeigt werden, ansonsten gibt es eine Fehlermeldung.

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

Wie kann man mehrere Abfragen verknüpfen?

Mit JAVA programmieren

Als Entwicklungsumgebung benutze ich NetBeans 7.

JAVA gibt es hier.