Zu dieser Karteikarte gibt es einen kompletten Satz an Karteikarten. Kostenlos!
7
switch-Anweisung
Eine switch-Anweisung ist einer if-Anweisung sehr ähnlich und wird eingesetzt, wenn man mehrere "Fälle" abfragen möchte (Cases).
Beispiel:
Die Variable i ist ein int mit dem Wert 2.
switch (i)
{
case 1:
{
/* Code wird aufgerufen, wenn i = 1 ist. */
break; /* Dem Programm sagen, dass die Anweisung, die wir in dem Fall, wenn x = 1 ist ausführen möchte, hier zu Ende ist */
}
case 2:
{
/* Code wird aufgerufen, wenn i = 2 ist - also in diesem Fall */.
break; /* Dem Programm sagen, dass die Anweisung, die wir in dem Fall, wenn x = 2 ist ausführen möchte, hier zu Ende ist */
}
Default:
{
/* Wird immer dann aufgerufen, wenn keine der beiden oben beschriebenen Fälle eingetreten ist (z.B. i = 0, 3, 4, 5, usw */
}
}
Allerdings darf das, was hinter der "case"-Anweisung steht, in Java nur vom Typ int oder char sein, was die Nutzbarkeit der switch-Anweisung für praktische Zwecke stark einschränkt.
Das obige Beispiel liesse sich mit einer if-Anweisung folgendermassen ausdrücken:
if (i == 1)
{
/* Code wird aufgerufen, wenn i = 1 ist. */
}
else if (i == 2)
{
/* Code wird aufgerufen, wenn i = 2 ist - also in diesem Fall */.
}
else
{
/* Wird immer dann aufgerufen, wenn keine der beiden oben beschriebenen Fälle eingetreten ist (z.B. i = 0, 3, 4, 5, usw */
}
In diesem Beispiel könnte i auch vom Typ double oder String sein - die Abfrage würde trozdem funktionieren.
Beispiel:
Die Variable i ist ein int mit dem Wert 2.
switch (i)
{
case 1:
{
/* Code wird aufgerufen, wenn i = 1 ist. */
break; /* Dem Programm sagen, dass die Anweisung, die wir in dem Fall, wenn x = 1 ist ausführen möchte, hier zu Ende ist */
}
case 2:
{
/* Code wird aufgerufen, wenn i = 2 ist - also in diesem Fall */.
break; /* Dem Programm sagen, dass die Anweisung, die wir in dem Fall, wenn x = 2 ist ausführen möchte, hier zu Ende ist */
}
Default:
{
/* Wird immer dann aufgerufen, wenn keine der beiden oben beschriebenen Fälle eingetreten ist (z.B. i = 0, 3, 4, 5, usw */
}
}
Allerdings darf das, was hinter der "case"-Anweisung steht, in Java nur vom Typ int oder char sein, was die Nutzbarkeit der switch-Anweisung für praktische Zwecke stark einschränkt.
Das obige Beispiel liesse sich mit einer if-Anweisung folgendermassen ausdrücken:
if (i == 1)
{
/* Code wird aufgerufen, wenn i = 1 ist. */
}
else if (i == 2)
{
/* Code wird aufgerufen, wenn i = 2 ist - also in diesem Fall */.
}
else
{
/* Wird immer dann aufgerufen, wenn keine der beiden oben beschriebenen Fälle eingetreten ist (z.B. i = 0, 3, 4, 5, usw */
}
In diesem Beispiel könnte i auch vom Typ double oder String sein - die Abfrage würde trozdem funktionieren.
Tags: java, Kapitel 5, switch
Quelle:
Quelle: