在 Java 中,switch 语句允许针对多个值评估单个表达式。在每个 case 块中,只能指定一个值。与 Objective C 不同,Java 不提供对在单个情况下指定值范围的直接支持。
考虑提供的示例:
switch (num) { case 1 .. 5: // Java does not support ranges in case statements case 6 .. 10: // Java does not support ranges in case statements }
如问题中所述,此代码不会编译是因为 Java 不允许在单个 case 语句中使用多个值。相反,建议使用 if 和 else if 语句的解决方案:
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"); }
此方法使用 isBetween 函数来检查值 num 是否落在指定范围内。虽然不像带范围的 switch 语句那么简洁,但它在 Java 中提供了有效的替代方案。
以上是Java 和 Objective-C 在处理 Switch 语句中的范围方面有何不同?的详细内容。更多信息请关注PHP中文网其他相关文章!