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本就是判断了。

C语言中的switch语句,case后面可不可以跟一表达式,例如“100>x>50...
不可以,C语言中的switch case中的case后面仅可以跟整形常量或常量表达式。原因:如果case后面跟 100>x>50是会出现逻辑错误的。首先C语言中像100>x>50这种表达式的意义并不和数学里的一样表示x落在(50,100)这个区间。这个在C语言中100>x会先被计算得到真或假。直接用关系运算得到的真和假在C语言...

Java中switch-case语句
这个很简单啊,根据case后的字符执行相应的运算啊,如果是'+'号就做加法,依次类推

case后面可以接整数吗?
不可以,C语言中的switch case中的case后面仅可以跟整数常量或常量表达式。在C语言创始人K&R 《The Programming C》第二版一书中的72页指出:Each case is labeled by one or more integer-valued constants or constant expressions. 即:每个case被一个或多个整数型常量或常量表达式标注。如果case后面...

在switch-case语句中,每一个case的常量表达式后的符号是0吗_百度知 ...
在switch语句中,多个case可以共用一组执行语句。条件运算符?和:是一对运算符,不能分开单独使用。do-while循环至少要执行一次循环语句。任何表达式语句都是表达式加分号组成的。在switch语句中,每一个的case常量表达式的值不可以相同。C 语言中 , 字符串常量最后一个字符是结束标志 , 该结束符是'\\0'...

C语言中switch后面的表达式能不能是逻辑运算符?
switch(a>0) 是可以的,只是它的case语句,只有两种可能,即case 0:和case 1:因为逻辑运算结果只能是0和1

JS编程中,有if就够了,switch case是多余的?
在JavaScript编程领域,if语句与switch语句是控制流程的重要工具。两者各具优势与适用场景,不能相互取代。if语句以其灵活性著称,能够处理复杂条件和逻辑判断。借助嵌套结构和逻辑运算符,开发者可以实现多层次的条件分支,适用于处理多种条件的场景。相比之下,switch语句在特定情况下提供简洁明了的代码组织...

java开发规范
switch中的参数如果是 null,则不进行语句 string 任何 case。说明:switch中的 case 都需要有 default(强制)。2、在 if\/else\/for\/while\/do 语句中必须使用大括号。如:if(t1 == t2){ System.out.println(“***”); }3、三目运算符值规范。condition ? 表达式 1 : 表达式 2 中,高度注意表达式 1 和 2...

代码运行错误提示
最好在写每个条件时要用两个{}分别将两个分支先括起来,再添加其中的语句,以保证其配对不易错。 4、 switch()语句中的格式不正确。()中的表达式结果一定是一些明确的值,不能是区间;表达式的所有可能结果要列在case后边,case与常量之间有一空格,不要丢掉必要的break; 5、 随意修改循环控制...

switch语句中case后面的东西是什么意思?
例:用switch来判断用户输入的成绩应该属于哪个范围。60一下不及格,60-70及格,70-80良好,80-90优秀,90以上学霸 var score=parseInt(prompt('请输入你的成绩'));switch(true){ case score>=0&&score<60:alert('不及格');break;case score>60&&score<=70:alert('及格');break;case score>...

使用switch语句,编写一个简单的计算机程序。要求从键盘上输入两个数...
void main(){ float a,b;char c;printf("请输入两个操作数:");scanf("%f",&a);scanf("%f",&b);getchar();printf("请选择操作运算:");scanf("%c",&c);switch(c){ case '+':printf("结果是:%f\\n",a+b);break;case '-':printf("结果是:%f\\n",a-b);break;case '*':pr...

相似回答