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运行的原理switch

解决方案 »

  1.   

    return 一般是方法停止执行,返回数据。
    break 一般是条件判断满足时,跳出循环或者switch语句。
      

  2.   

    你return之后就不要break了。return是对于整个方法而言结束了,再break肯定会报错的break只是结束当前的选择而已,不让switch再运行了, 如果不写break 会把所有的case运行完,
      

  3.   

    如果不能return 那你看看你的方法是不是返回值写的是void
      

  4.   

    后面得加个default: return 值,不加default如果没有case中匹配,方法就无返回值,
      

  5.   

    出错的原因是case里面的break在任何情况都不会执行。
    因为满足这个case,就return了楼主参考这两位大神的方法看看吧。
      

  6.   

    return是跳出return语句所在的函数域。
    break是跳出当前循环。