In Java ermöglicht die Switch-Anweisung die Auswertung eines einzelnen Ausdrucks anhand mehrerer Werte. In jedem Case-Block kann genau ein Wert angegeben werden. Im Gegensatz zu Objective C bietet Java keine direkte Unterstützung für die Angabe von Wertebereichen innerhalb eines Einzelfalls.
Betrachten Sie das bereitgestellte Beispiel:
switch (num) { case 1 .. 5: // Java does not support ranges in case statements case 6 .. 10: // Java does not support ranges in case statements }
Wie in der Frage erwähnt, ist dies bei diesem Code nicht der Fall kompilieren, da Java nicht mehrere Werte innerhalb einer einzelnen case-Anweisung zulässt. Stattdessen wird eine Lösung mit if- und else if-Anweisungen vorgeschlagen:
public static boolean isBetween(int x, int lower, int upper) { return lower <= x && x <= upper; } if (isBetween(num, 1, 5)) { System.out.println("testing case 1 to 5"); } else if (isBetween(num, 6, 10)) { System.out.println("testing case 6 to 10"); }
Dieser Ansatz verwendet eine isBetween-Funktion, um zu prüfen, ob der Wert num in den angegebenen Bereich fällt. Obwohl es nicht so prägnant ist wie eine Switch-Anweisung mit Bereichen, stellt es eine gültige Alternative in Java dar.
Das obige ist der detaillierte Inhalt vonWie unterscheiden sich Java und Objective-C in der Verarbeitung von Bereichen innerhalb von Switch-Anweisungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!