switch语句问题

Seven的代码实验室 2013-01-04 02:49:22
switch(curEnum){
case RED:
curEnum=GREEN;
break;
case GREEN:
curEnum=YELLOW;
break;
case YELLOW:
curEnum=RED;
break;
}
return curEnum;
以上代码这样写是没有错误的,但如果我这样改的话就会出现错误
switch(curEnum){
case RED:
return curEnum=GREEN;
break;
case GREEN:
return curEnum=YELLOW;
break;
case YELLOW:
return curEnum=RED;
break;
}
变成这样写之后就出现错误了,我想问一下return和break是怎样用的?return和break运行的原理
...全文
254 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
呼啸 2013-01-04
  • 打赏
  • 举报
回复
return是跳出return语句所在的函数域。 break是跳出当前循环。
zhaofeng365 2013-01-04
  • 打赏
  • 举报
回复
你都已经跳出这个语句了,还怎么中断这个循环呢?
abc41106 2013-01-04
  • 打赏
  • 举报
回复
出错的原因是case里面的break在任何情况都不会执行。 因为满足这个case,就return了 楼主参考这两位大神的方法看看吧。
引用 2 楼 liu4626846 的回复:
你return之后就不要break了。return是对于整个方法而言结束了,再break肯定会报错的 break只是结束当前的选择而已,不让switch再运行了, 如果不写break 会把所有的case运行完,
引用 6 楼 aaoxue 的回复:
后面得加个default: return 值,不加default如果没有case中匹配,方法就无返回值,
程序媛小李 2013-01-04
  • 打赏
  • 举报
回复
后面得加个default: return 值,不加default如果没有case中匹配,方法就无返回值,
感同深受 2013-01-04
  • 打赏
  • 举报
回复
引用 2 楼 liu4626846 的回复:
你return之后就不要break了。return是对于整个方法而言结束了,再break肯定会报错的 break只是结束当前的选择而已,不让switch再运行了, 如果不写break 会把所有的case运行完,
+1
Allen_Luo 2013-01-04
  • 打赏
  • 举报
回复
liu4626846 2013-01-04
  • 打赏
  • 举报
回复
如果不能return 那你看看你的方法是不是返回值写的是void
liu4626846 2013-01-04
  • 打赏
  • 举报
回复
你return之后就不要break了。return是对于整个方法而言结束了,再break肯定会报错的 break只是结束当前的选择而已,不让switch再运行了, 如果不写break 会把所有的case运行完,
傲雪kimi 2013-01-04
  • 打赏
  • 举报
回复
return 一般是方法停止执行,返回数据。 break 一般是条件判断满足时,跳出循环或者switch语句。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧