Genellikle switch ifadesini duyduğumda, uzun süre yerine geçecek bir yöntem olarak ... başka zincirler çıkardı. Fakat anlaşılan anahtar, switch ifadesini kullandığımda sadece yazacağım koddan daha fazla kod yazıyorum. Tüm çağrılar için tüm değişkenleri aynı kapsamda tutmak gibi başka sorunlarınız da var .
İşte normalde yazdığım akışı gösteren bazı kodlar ( çap sayesinde )
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.";
}
Sonra bunu bununla değiştirmemi istiyorlar:
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.";
}
Çok daha garip bir sözdiziminde çok daha fazla kod gibi görünüyor. Ancak switch deyimini kullanmanın gerçekten bir avantajı var mı?