ChristophTutorials - (Video)Tutorialseite und IT-Blog

Zitat der Woche

Früher hatten wir die spanische Inquisition. Jetzt haben wir die Kompatibilität.
- Herbert Klaeren

Letzte Artikel

Zufällige Artikel

Verzeichnisse

Blogverzeichnis - Blog Verzeichnis bloggerei.de Blogverzeichnis Blog Verzeichnis Blog Top Liste - by TopBlogs.de Blog Button
Datenschutzerklärung
Impressum

Java - Switch-Anweisung - 16.06.2011

Wir haben bereits gelernt, wie man den Programmfluss mit if und else und auch else if verzweigen kann. Es gibt auch noch eine weitere Möglichkeit: die Switch-Anweisung.

Ein Switch mit Cases

switch(vergleichsAusdruck){
case ausdruckA:
	//Anweisungen
	break;
case ausdruckB:
	//Anweisungen
	break;
case ausdruckC:
	//Anweisungen
	break;
default:
	//Anweisungen
}
Die Anweisung beginnt mit dem Schlüsselwort switch. In Runden Klammern folgt der Ausdruck, mit dem verglichen werden soll. Als Ausdruck sind lediglich Ganzzahlen erlaubt, also byte, short, int und auch char, da auch Buchstaben als Ganzzahlen gespeichert werden. Dann, in geschweiften Klammern die case-Anweisungen. Eine case-Anweisung wiederum beginnt mit dem Schlüsselwort case, gefolgt vom Ausdruck, der mit dem Ausdruck in den runden Klammern verglichen werden soll. Beim ersten case, dessen Ausdruck mit dem Vergleichsausdruck übereinstimmt, wir mit der Ausführung begonnen. Der switch-Block wird verlassen, wenn ein break ausgeführt wird. Würde man beispielsweise das break hinter ausdruckB weglassen, würden nicht nur die Anweisungen hinter ausdruckB, sondern auch die hinter ausdruckC ausgeführt werden.

Sollte keine der angegebenen cases zutreffen, wird die default-Anweisung ausgeführt. Gibt es auch die default-Anweisung nicht, wird der switch-Block einfach übersprungen.

Hier ein Beispiel:
int wochentag = 4;

switch(wochentag){
case 1:
	System.out.println("Es ist Montag!");
	break;
case 2:
	System.out.println("Es ist Dienstag!");
	break;
case 3:
	System.out.println("Es ist Mittwoch!");
	break;
case 4:
	System.out.println("Es ist Donnerstag!");
	break;
case 5:
	System.out.println("Es ist Freitag!");
	break;
case 6:
	System.out.println("Es ist Samstag!");
	break;
case 7:
	System.out.println("Es ist Sonntag!");
	break;
default:
	System.out.println("Es gibt keinen "+wochentag+". Wochentag!");
}
Dieser Code ist in etwa zu vergleichen mit folgendem, bei dem aber if-Anweisungen genutzt wurden:
int wochentag = 4;

if(wochentag == 1)
	System.out.println("Es ist Montag!");
else if(wochentag == 2)
	System.out.println("Es ist Dienstag!");
else if(wochentag == 3)
	System.out.println("Es ist Mittwoch!");
else if(wochentag == 4)
	System.out.println("Es ist Donnerstag!");
else if(wochentag == 5)
	System.out.println("Es ist Freitag!");
else if(wochentag == 6)
	System.out.println("Es ist Samstag!");
else if(wochentag == 7)
	System.out.println("Es ist Sonntag!");
else
	System.out.println("Es gibt keinen "+wochentag+". Wochentag!");
Auf den ersten Blick wirkt die Lösung mit switch vielleicht etwas länger, aber eigentlich ist sie kürzer. Außerdem bietet die switch-Anweisung Möglichkeiten, die mit if nur umständlich zu realisieren sind, zum Beispiel, wenn man ein break weglässt.

Kommentare:

- kein Kommentar -
Um einen Kommentar zu schreiben ist eine Anmeldung nötig.