我执行以下代码
int cnt=1;
switch(cnt){
case (cnt<=10): System.out.println("Less than 10");
break;
case (cnt<=20): System.out.println("Less than 20");
break;
case (cnt<=30): System.out.println("Less than 30");
break;
}
有一些关于此问题的问题。但我没有得到正确答案,或答案不符合我的需要。我得到了这个问题的答案是使用多个if else语句。但是我想知道为什么运算符不适用于java switch case?
答案 0 :(得分:5)
根本不是switch / case语句如何工作 - 用Java或各种类似语言(C,C ++,C#)。这不是他们的观点。
开关/案例陈述不是条件序列 - 它们是一系列常数值(带有相关代码),还有一个被评估的表达式,然后执行与该表达式的结果相关联的代码。
如果您想要一系列条件,只需使用if / else。在Java中没有任何其他方式。 是语言,它们具有这样的条件匹配,但Java不是其中之一。 (请注意,在这些语言中,如果多个条件匹配,则需要仔细规定可能发生的情况 - 例如,如果cnt
为0,则可能在您的示例中...)