Oft, wenn ich von der switch-Anweisung höre, wird sie verschoben, um lange if ... else-Ketten zu ersetzen. Aber es scheint, dass ich mit der switch-Anweisung mehr Code schreibe, als ich nur schreiben würde, wenn ... sonst. Sie haben auch andere Probleme, z. B. das Beibehalten aller Variablen für alle Aufrufe im selben Bereich .
Hier ist ein Code, der den Ablauf darstellt, den ich normalerweise schreibe ( dank diam )
String comment; // The generated insult.
int which = (int)(Math.random() * 3); // Result is 0, 1, or 2.
if (which == 0) {
comment = "You look so much better than usual.";
} else if (which == 1) {
comment = "Your work is up to its usual standards.";
} else if (which == 2) {
comment = "You're quite competent for so little experience.";
} else {
comment = "Oops -- something is wrong with this code.";
}
Dann wollen sie, dass ich das durch Folgendes ersetze:
String comment; // The generated insult.
int which = (int)(Math.random() * 3); // Result is 0, 1, or 2.
switch (which) {
case 0:
comment = "You look so much better than usual.";
break;
case 1:
comment = "Your work is up to its usual standards.";
break;
case 2:
comment = "You're quite competent for so little experience.";
break;
default:
comment = "Oops -- something is wrong with this code.";
}
Scheint viel mehr Code in einer viel umständlicheren Syntax zu haben. Aber hat die Verwendung der switch-Anweisung wirklich einen Vorteil?