Ich habe ein Problem mit Switch-Anweisung, wenn ich versuchte, mit einer besonderen Situation umzugehen. Zum Beispiel Ich habe 3 Fälle: A, B, C.Java Switch-Anweisung
- für A, I statement_1 und statement_3 tun will.
- für B, ich möchte statement_2 und statement_3 tun.
- für C, ich will nichts
tun, wenn ich if-else-Anweisung verwenden, sieht es wie folgt aus:
if (not C){
do statement_3
if B
do statement 2
else if A
do statement 1
}
Wenn ich will switch-Anweisung verwenden, um das gleiche zu tun Ding, ich habe einige Schwierigkeiten.
switch (variable){
case A: do statement_1
case B: do statement_2
// how to do statement 3 here?
}
Ich versuche, die duplizierten Codes zu vermeiden. Also denke ich, wie ich die Codes so einfach wie möglich machen kann.
UPDATE 1:
meiner Codes/Frage klarer zu machen, ich will nur meine Codes machen so einfach/klar, wie ich kann, weshalb ich switch-Anweisung verwenden möchten anstelle von if-else. Außerdem habe ich gehört, dass switch-statement in der Regel schneller als wenn-sonst ist. (Ich bin jedoch nicht 100% sicher).
Ich möchte Switch-Fall verwenden, weil Fall A, B, C Enum-Typ sind. Sie sind sind nicht variabel. Entschuldigung für die Verwirrung.
jede Aussage sind mehr als 10 Zeilen von Codes. Deshalb will ich nicht das Folgende tun:
switch (enum variable) { case A: statement1 statement3 break; case B: statement2 statement3 break;
}
Dieser Code wird nicht funktionieren, da Java 6 und älter einen Wert eines primitiven Typs erwartet. Java 7 kann das mit Strings behandeln. – reporter
Switch ist nicht gut - Sie können Fälle nicht überspringen, was Sie tun müssten, um zu vermeiden, den Aufruf von statement_3 zweimal zu codieren – Bohemian
Was ist falsch mit 'if'? Wenn ein Schalter nicht das richtige Werkzeug ist, verwenden Sie ihn nicht. Meistens ist es nicht das richtige Werkzeug. –