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

classdemo{publicstaticvoidmain(String[]args){intx=4;switch(x){case:x>12&&x<=0;System.... 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+"冬季");

}

}
}
展开
 我来答
百度网友1f9c3e2
2015-04-07 · TA获得超过1836个赞
知道小有建树答主
回答量:638
采纳率:100%
帮助的人:400万
展开全部
不行
值必须是int型的,或者是能够自动进行隐试转换成int型的表达式。也就是说可以是byte/short/char/int型的 在jdk1.7以上好像可以使用String类型
bool类型是不可以的
lionheart1988
2015-04-07 · TA获得超过6445个赞
知道大有可为答主
回答量:5772
采纳率:72%
帮助的人:2469万
展开全部
switch-case中是不支持boolean类型的判断的,boolean类型的判断请写if-else
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浪迹OK天涯
2015-04-07
知道答主
回答量:13
采纳率:0%
帮助的人:13万
展开全部
case 的值 不能是布尔值,肯定会报错咯。 可以接受int,byte,char,short, enum不能接受其他类型.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
昌谷秋m5
推荐于2017-10-06 · TA获得超过1351个赞
知道小有建树答主
回答量:1085
采纳率:50%
帮助的人:250万
展开全部
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+"月份不存在");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
指尖点滴bV
2015-04-07 · TA获得超过626个赞
知道小有建树答主
回答量:1258
采纳率:71%
帮助的人:255万
展开全部
不能,case本就是判断了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式