黑马程序员技术交流社区

标题: 关于return的疑问 [打印本页]

作者: Silvester    时间: 2014-5-5 00:09
标题: 关于return的疑问
本帖最后由 Silvester 于 2014-5-5 11:29 编辑

        在返回值类型为void的方法中,正因为返回值类型为空,一开始个人认为不能写return语句,但查阅后有这么个解释:”当出现不合法的输入时,就要求提前中断程序,因而后面的代码就没有必要执行,这个时候就需要使用return语句来终止当前方法!“
        所以,如果出现了条件判断是需要写return的,为了终止当前正在执行的函数或方法 ,可问题来了,如果只是终止正在执行的方法的话,经过条件判断后,如果不符合条件需要终止,完全可以用break,本来函数的返回值就为void,莫非这里的return=break?
        同时还有一句话:“JAVA中的函数返回值类型为void时,函数中的return语句如果在最后一句,就可以省略。”这么说的话每一个返回值类型为void方法最后一句都其实是省略了return?同样的,这和break又有什么区别?
作者: 宋美成    时间: 2014-5-5 00:52
(1)关于返回值是void的函数写了一个return语句,这其实是表示中止当前函数的运行,并将操作权返回给调用者,而不是说返回某个值。其实要求有返回值的函数会有一个return XXX的语句,而对于void不写也是可以的,写了也无所谓。
(2)关于第二个,break语句是跳出某个循环体系比如for循环和while循环,而return语句是直接跳出了整个函数体,这就是两者的区别吧。
作者: 谢振宣    时间: 2014-5-5 00:58
首先,有三个能完成跳出的关键字:continue,break,return。
对于continue:表示跳出循环,不再继续执行当前循环,直接进入下一次循环。只能跳出循环语句for,while,do-while。
对于break:表示跳出当前语句,可以跳出switch,for,while,do-while。
对于return:有两层含义,一是结束当前方法,二是返回该方法应该返回的值。
任意一个成员函数都会在末尾有一个return,如果返回值为void,可以不写。当return和其它语句搭配使用时,可以用在方法的任意位置,用于结束该方法。这时,方法的最后位置还会有一个return,若返回值为void,依然可以不写。
作者: 李小新H    时间: 2014-5-5 06:58
这个是个问题!我不会!
作者: Silvester    时间: 2014-5-5 11:28
谢振宣 发表于 2014-5-5 00:58
首先,有三个能完成跳出的关键字:continue,break,return。
对于continue:表示跳出循环,不再继续执行当 ...

谢谢啊,很清晰,明白了。
作者: Silvester    时间: 2014-5-5 11:30
宋美成 发表于 2014-5-5 00:52
(1)关于返回值是void的函数写了一个return语句,这其实是表示中止当前函数的运行,并将操作权返回给调用 ...

谢谢啊,自己学的时候忽略太多的细节了。
作者: 小熊星座    时间: 2014-5-5 21:12
谢振宣 发表于 2014-5-5 00:58
首先,有三个能完成跳出的关键字:continue,break,return。
对于continue:表示跳出循环,不再继续执行当 ...

学习了,看完之后有了个小小总结。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2