java Switch语句编译出错 孤立的case是什么意思

case 后面是常量表达式,并且必须是与条件表达式类型相兼容的值!也就是说,比如你的switch(a)里面的a是int 型的,那么case 后的值也应是和int 兼容的,如果你定义的a是字符型的话,那么b就应该加上单引号。另外,常量表达式的值可以是字符,但不能是字符串。
java Switch语句编译出错 孤立的case是什么意思
case 后面是常量表达式,并且必须是与条件表达式类型相兼容的值!也就是说,比如你的switch(a)里面的a是int 型的,那么case 后的值也应是和int 兼容的,如果你定义的a是字符型的话,那么b就应该加上单引号。另外,常量表达式的值可以是字符,但不能是字符串。2013-11-26
可以把代码贴出来看看吗?2015-07-23
case后面必须是字面量 也就是说 不能是变量2013-11-26
做任务中,请谅解!2013-11-26
在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-03-11
case后面的值不能重复,把常量的值修改一下就好了。2013-11-26
把你的源码贴出来吧。2013-11-26
mengvlog 阅读 7 次 更新于 2025-07-19 08:28:11 我来答关注问题0
檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部