Souvent, lorsque j'entends parler de la déclaration switch, elle est retardée comme moyen de remplacer les chaînes long if ... else. Mais il semble que lorsque j'utilise l'instruction switch, j'écris plus de code que je ne ferais qu'écrire si ... sinon. Vous avez également d'autres problèmes, tels que le maintien de toutes les variables pour tous les appels dans le même périmètre .
Voici un code qui représente le flux que j'écris normalement ( grâce à 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.";
}
Ensuite, ils veulent que je remplace cela par ceci:
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.";
}
On dirait beaucoup plus de code dans une syntaxe beaucoup plus gênante. Mais y a-t-il vraiment un avantage à utiliser l'instruction switch?