Mam problem z użyciem instrukcji switch, gdy próbowałem zająć się szczególną sytuacją. Na przykład mam 3 przypadki: A, B, C.Java Switch Statement
- dla A, chcę zrobić statement_1 i statement_3.
- dla B, chcę zrobić oświadczenie_2 i oświadczenie_3.
- dla C, chcę zrobić nic
jeśli mogę użyć if-else, będzie to wyglądać następująco:
if (not C){
do statement_3
if B
do statement 2
else if A
do statement 1
}
Jeśli chcę użyć instrukcji switch do tego samego rzecz, mam pewne kłopoty.
switch (variable){
case A: do statement_1
case B: do statement_2
// how to do statement 3 here?
}
Próbuję uniknąć powielonych kodów. Więc myślę, że jak zrobić kody tak proste, jak tylko mogę.
UPDATE 1:
aby mój kody/pytanie bardziej jasne, po prostu chcę, aby moje kody tak proste/jasne, jak mogę, dlatego chcę użyć instrukcji switch zamiast if-else. Słyszałem również, że instrukcja switch jest zwykle szybsza niż w przypadku-else. (Nie jestem jednak w 100% pewny).
Chcę użyć przełącznika, ponieważ przypadki A, B, C są typu enum. one nie są zmienne. Przepraszam za zamieszanie.
każde wyrażenie zawiera więcej niż 10 wierszy kodów. Dlatego nie chcę, aby wykonać następujące czynności:
switch (enum variable) { case A: statement1 statement3 break; case B: statement2 statement3 break;
}
Ten kod nie będzie działać, ponieważ Java 6 i starsze urządzenia oczekują wartości typu pierwotnego. Java 7 może to zrobić za pomocą Ciągów. – reporter
przełącznik nie jest dobry - nie można pominąć przypadków, co należy zrobić, aby uniknąć kodowania połączenia z instrukcją_3 dwukrotnie – Bohemian
co jest nie tak z "jeśli"? Jeśli przełącznik nie jest odpowiednim narzędziem, nie używaj go. Przez większość czasu nie jest to właściwe narzędzie. –