黑马程序员技术交流社区

标题: JAVA中return的用法个人体会 [打印本页]

作者: 邵新瑜    时间: 2012-12-3 18:25
标题: JAVA中return的用法个人体会
  首先要感谢各位群友对我的帮助。
  在JAVA中定义一个方法,必须要return一个返回值,那么是不是只要一个方法里有一个return就可以了呢?下面以我遇到的问题为例说明:

先看下我在JAVA中的代码截图:


再看看我在C语言中的代码:


两者代码基本完全相同,但是在JAVA中编译不通过,在C语言中编译可以通过,因此个人认为:
在JAVA编译的时候是直接扫描定义带有返回值的函数中是否一定会有返回值,当扫描到if时,它并未对其进行运算,而是解释为不能运行(实际上在if后面加个else,并且在else后面添加一个return,编译还是不能通过),这就是与C语言不同的地方。
因此在JAVA定义方法时,最好是避免在if...else这样的选择语句中直接return返回值,而是定义一个在该函数内变量传递,并且在所有语句的最后使用return这个变量就行了。

而以上区别说的是在定义有返回值的函数中,在定义没有返回值的函数时,在JAVA中将return语句放在if...else语句中是没有问题的。但是也要尽量避免,因为这对于良好的代码习惯很有帮助。

不知道以上说的对不对,请多指正!



作者: 何伟    时间: 2012-12-3 18:38
沙发!方法定义了返回值类型,方法内就必须有return,
作者: 黑马刘岩    时间: 2012-12-3 19:01
这应该取决去java和c++在编译机制上的不同吧?有啥不同呢?




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