dab*_*abe 5 java relational operators switch-statement
有没有办法在switch语句中使用关系运算符(<,<=,>,> =)?
int score = 95;
switch(score) {
case (score >= 90):
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
上面的例子(显然)不起作用
Ani*_*rni 11
你不能.
从jls-14.11
The type of the Expression must be char, byte, short, int, Character, Byte, Short, Integer, String, or an enum type (§8.9), or a compile-time error occurs.
Run Code Online (Sandbox Code Playgroud)
关系运算符(<,<=,>,> =)导致boolean并且不允许.
必须满足以下所有条件,否则会发生编译时错误:
与switch语句关联的每个case常量表达式必须可分配(第5.2节)到switch表达式的类型.
与switch语句关联的两个case常量表达式中没有两个可能具有相同的值.
没有开关标签为空.
最多一个默认标签可以与同一个switch语句相关联.
| 归档时间: |
|
| 查看次数: |
19135 次 |
| 最近记录: |