为什么条件运算符不适用于java switch case?

Tus*_*rni 1 java operators

我做了以下代码

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;
}
Run Code Online (Sandbox Code Playgroud)

有一些关于这个问题的问题.但我没有得到正确的答案或答案不符合我的需要.我得到了这个问题的答案是使用多个if else语句.但我想知道为什么运营商不能在java交换机案例中工作?

Jon*_*eet 5

这根本不是switch/case语句的工作原理 - 用Java或各种类似的语言(C,C++,C#).这不是他们的观点.

switch/case语句不是一系列条件 - 它们是一系列常量值(带有相关代码),还有一个被计算的表达式,然后执行与该表达式结果相关的代码.

如果你想要一系列条件,只需使用if/else.在Java中没有任何其他方式.这里具有条件匹配这样的语言,但Java是不是其中之一.(请注意,在这些语言中,如果匹配多个条件,您需要仔细规定 - 如在示例中可能会出现这种情况,例如,如果cnt为0 ,则需要...)