JAVA 中的switch 语法使用 case后面能不能跟比较运算符,自己写了一个提示错误

class demo
{
public static void main (String[] args)
{
int x=4;
switch(x)
{
case: x>12 && x<=0;
System.out.println(x+"月份不存在");
break;

case: x>=3 && x<=5;
System.out.println(x+"春季");
break;

case: x>=6 && x<=8;
System.out.println(x+"夏季");
break;

case: x>=9 && x<=11;
System.out.println(x+"秋季");
break;

default:
System.out.println(x+"冬季");

}

}
}

不行
值必须是int型的,或者是能够自动进行隐试转换成int型的表达式。也就是说可以是byte/short/char/int型的 在jdk1.7以上好像可以使用String类型
bool类型是不可以的
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-04-07
switch-case中是不支持boolean类型的判断的,boolean类型的判断请写if-else
第2个回答  2015-04-07
case 的值 不能是布尔值,肯定会报错咯。 可以接受int,byte,char,short, enum不能接受其他类型.
第3个回答  推荐于2017-10-06
case 只能是一个确定的值。
你可以换乘 if 判断语句
if(x>=3 || x<=5;) 这里要用|| 满足一个条件即可。
System.out.println(x+"春季");

else if(x>=6 || x<=8;)
System.out.println(x+"夏季");

else if( x>=9 || x<=11;)
System.out.println(x+"秋季");

else if (x>=12||x<=2)
System.out.println(x+"冬季");

else
System.out.println(x+"月份不存在");本回答被提问者采纳
第4个回答  2015-04-07
不能,case本就是判断了。
相似回答