Switch/case bietet sich für übersichtliche Codes bei Mehrfachverzweigungen an.
Abhängig von einem vorgegebenen Ausdruck (hinter switch) verzweigt das Coding entweder zu einer passenden case-Sprungmarke oder zur default-Sprungmarke (wenn vorhanden). Wird eine case-Marke angesprungen, dann werden alle Anweisungen bis zum Ende des switch-Konstrukts ausgeführt. Also auch die der nächsten case-Marke. Wenn das nicht gewünscht ist, dann die case-Anweisungen mit einem break beenden.
Einfache switch/case-Anweisung
public class Test {
static public void main (String args[]) {
int i=1;
switch (i) {
case 0:
System.out.println("0 gefunden");
break;
case 1:
System.out.println("1 gefunden");
break;
default:
System.out.println("Keine 0 oder 1 gefunden");
}
}
}
Mehrere Bedingungen führen zu ein und derselben Anweisungsfolge
...
int i=1;
switch (i) {
case 0:
case 1:
System.out.println("0 oder 1 gefunden");
break;
case 2:
case 3:
System.out.println("2 oder 3 gefunden");
break;
}
...
Auszuwertender Ausdruck ist char (kann int, byte, char sein)
...
char c='x';
switch (c) {
case 'a':
System.out.println("a gefunden");
break;
case 'x':
System.out.println("x gefunden");
break;
}
...
Tastatureingabe per case auswertet
import java.io.*; // für BufferedReader
public class Test {
public static void main(String[] args) {
String wert,ausgabe;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("Einstellige Schulnote (1-6) eingeben:");
wert=br.readLine();
char zensur=wert.charAt(0);
switch (zensur){
case '1': ausgabe="sehr gut";
break;
case '2': ausgabe="gut";
break;
case '3': ausgabe="befriedigend";
break;
case '4': ausgabe="ausreichend";
break;
case '5': ausgabe="mangelhaft";
break;
case '6': ausgabe="ungenuegend";
break;
default: ausgabe="Falsche Eingabe";
break;
}
System.out.println(ausgabe);
}
catch (IOException e){
System.out.println("IO-Fehler");
}
}
}

Impressum
Datenschutz