所以,让我们说我在这里有一段代码:
switch(test) {
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
System.out.println("random");
}
break;
仅举例。
有很多案例,我想知道是否有办法缩短它。我尝试使用for循环迭代这些数据,但我无法完全绕过它。任何帮助表示赞赏。
再次,请原谅这个令人反感的问题!我对Java很新!
提前致谢。
答案 0 :(得分:4)
并回答你的具体情况,你可以写
if(yourSwitchParam >= 50 && yourSwitchParam <=80 ){
System.out.println("random");
}
在交换机顶部添加此条件。如果您有任何进一步的逻辑,请打开它们。
答案 1 :(得分:3)
如果所有这些情况都执行相同的语句,那么您可以使用default
语句来捕获一般情况。或者将switch语句转换为if
语句:
if (test >= 50 && test <= 80) {
...
}
一般来说,避免switch
陈述是个好主意。它们使维护变得困难,因为它们通常要求您在多个位置添加选项,这可能导致难以检测的错误。在某些特定情况下,它们是良好的做法,但它们并不常见。一个很好的选择是定义一个enum
enum
成员指示该成员的行为。
答案 2 :(得分:1)
如果您只是寻找键/值关系,则可以使用数字静态初始化HashMap并在恒定时间内查找它们。迭代的其他测试将具有O(n)复杂度。