Grundlegendende Programmierkonzepte in Java
Else
Wenn jetzt eine Andere Person das Programm verwendet,
so wird sie nicht begrüßt. Es geschieht einfach garnichts. Es hat sich
gezeigt, dass die Anwender eines Programms sich wundern, wenn etwas
geschieht, was sie nicht erwarten. Besonders genervt sind sie aber
meistens, wenn das Programm ihnen nicht einmal die Möglichkeit gibt das
Problem nachzuvollziehen. Aus diesem Grund sollten wir das Programm
etwas erweitern. Mit Hilfe der else Struktur können wir
alles abgelehnten Benutzern dieses mitteilen. Ein Else kann immer nur
in Verbindung mit einem Vorangegangenen If stehen. Der Aufbau ist dann:
if( Wahrheitsaussage ) { Anweisung; } else { AlternatiiveAnweisung; }
Java führt jetzt die Erste Anweisung aus, wenn die Wahrheitsaussage wahr ist und wenn sie falsch ist, wird die alternative Anweisung ausgeführt. Unser Beispiel kann entsprechend erweitert werden:
if(name.equals("Jan")) { System.out.println("Hallo " + name + "!"); } else { System.out.println("Der Benutzer ist abgelehnt."); }
Es muss hinter dem Schlüsselwort else nicht direkt ein Block geschrieben werden. Es ist auch möglich mehrere If miteinander zu verbinden:
if( Wahrheitsaussage ) { Anweisung1; } else if( ZweiteWahrheitsaussage ) { Anweisung2; } else if( DritteWahrheitsaussage ) { Anweisung3; } else { AlternatiiveAnweisung; }
Hierbei muss man wissen, dass nur die Anweisungen des ersten If mit wahrer Aussage ausgeführt werden. Ist keine der Aussagen wahr, so werden die Anweisungen des Else ausgeführt.
Welche Ausgaben erzeugen die folgenden beiden Programmauszüge?
String tier = "Katze"; if( tier.equals("Katze") ) { System.out.println("Katzen sind niedlich"); } else if( tier.equals("Katze") ) { System.out.println("Katzen fressen Mäuse"); } else { System.out.println("Alles außer Katzen"); }
Variante 2:
String tier = "Katze"; if( tier.equals("Katze") ) { System.out.println("Katzen sind niedlich"); } if( tier.equals("Katze") ) { System.out.println("Katzen fressen Mäuse"); } else { System.out.println("Alles außer Katzen"); }