黑马程序员技术交流社区
标题:
switch语句问题
[打印本页]
作者:
雷丹
时间:
2013-10-24 22:20
标题:
switch语句问题
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运行的原理
作者:
寻丶丶觅
时间:
2013-10-24 22:59
return 后面不能跟语句,因为ruturn如果执行,该方法也就执行完毕,并返回值。break是结束语句,而不是方法。跳出swith语句而已。
作者:
黑马-马磊
时间:
2013-10-24 23:03
return 返回后面的,后面的break没有执行到
break 结束了循环
return 一般是结束方法,break结束循环
还有一个continue是跳过本次循环
作者:
奋斗@zbt
时间:
2013-10-24 23:07
break 是结束switch语句,break是结束整个函数,如果是被调用的函数,return后面要接相应的返回值 然后跳出被调用的函数,继续运行主函数.执行break后 跳出switch 继续执行switch后的语句 如果用return, 那么就是跳出整个函数。return是结束整个循环。
作者:
卑微の小幸福
时间:
2013-10-25 01:00
break:在一具循环体中,如果用break返回, 则不管其后面是否有满足条件的情况,都不做循环体,即不会做;跳出。
return:一般的就是用在有反回值的方法中,用来返回方法指定类型的值,同时结束方法执行;也可以用在返回值为void的方法中,用来终止方法运行;
作者:
乔兵
时间:
2013-10-25 08:02
楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
如果不会修改请看解释帖:
http://bbs.itheima.com/thread-89313-1-1.html
作者:
烟花雨
时间:
2013-10-25 20:00
break语句虽然可以独立使用,但通常主要用于switch语句中,控制程序的执行流程转移。
在switch语句中,其作用是强制退出switch结构,执行switch结构之后的语句。其本质就是在单层循环结构体系中,其作用是强制退出循环结构。
return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它方法。
因此,将它分类为跳转语句.有两个作用,一个是返回方法指定类型的值(这个值总是确定的);
一个是结束方法的执行(仅仅一个return语句)。 return 语句可以使其从当前方法中退出,返回到调用该方法的语句处,继续程序的执行 。
作者:
魏-玉-彪
时间:
2013-10-25 22:34
本帖最后由 魏-玉-彪 于 2013-10-25 22:35 编辑
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;
}
复制代码
但是这样改的话就不会出错:
public static curEnum switch(curEnum){ //此处加上本函数(方法)的权限和返回值类型。</font>
switch(curEnum){
case RED:
return curEnum=GREEN;
case GREEN:
return curEnum=YELLOW;
case YELLOW:
return curEnum=RED;
}
复制代码
return 是要给方法调用者返回一个值。而break 只是中止了此次选择。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2