java Switch语句编译出错 孤立的case是什么意思
发布网友
发布时间:2022-05-02 07:24
我来回答
共5个回答
热心网友
时间:2023-10-11 07:59
case 后面是常量表达式,并且必须是与条件表达式类型相兼容的值!也就是说,比如你的switch(a)里面的a是int 型的,那么case 后的值也应是和int 兼容的,如果你定义的a是字符型的话,那么b就应该加上单引号。另外,常量表达式的值可以是字符,但不能是字符串。
热心网友
时间:2023-10-11 08:00
case后面必须是字面量 也就是说 不能是变量追问可以是字符串吗
热心网友
时间:2023-10-11 08:00
做任务中,请谅解!
热心网友
时间:2023-10-11 08:01
在Java Switch语句中,孤立的case指的是在多个case分支语句中,某个case的语句块缺少break等终止语句而直接跟随下一个case语句块的情况,这样就导致了这个case分支语句的执行将会穿透到下一个语句块,破坏了原有的代码逻辑。
例如,以下代码就会出现孤立的case错误:
switch (x) { case 1:
System.out.println("x is 1"); case 2:
System.out.println("x is 2"); break; default:
System.out.println("x is neither 1 nor 2");
}
如果x为1,则会打印出"x is 1"和"x is 2",而不是预期的只打印出"x is 1"。
要解决这个问题,需要在每个case分支语句后面加上break或return等终止语句,以避免执行流程跳转到下一个分支。
例如,以下代码就不会出现孤立的case错误:
switch (x) { case 1:
System.out.println("x is 1"); break; case 2:
System.out.println("x is 2"); break; default:
System.out.println("x is neither 1 nor 2");
}
如果x为1,则只会打印出"x is 1"。
热心网友
时间:2023-10-11 08:01
可以把代码贴出来看看吗?