黑马程序员技术交流社区

标题: 关于return。 [打印本页]

作者: 邓超军    时间: 2012-7-26 09:20
标题: 关于return。
先看代码:
  1. import java.util.*;
  2. public class JavaApp {
  3.         public static void main(String... args)
  4.     {
  5.                 Scanner in=new Scanner(System.in);
  6.                 System.out.println("Ente String:");
  7.                 String input =in.nextLine();
  8.                 if(input==null || input.equals(""))
  9.                      return;
  10.     }
  11. }
复制代码
问题是,main函数的返回值类型是void,为什么又用return?return什么?return的作用又是什么?
作者: 位雪    时间: 2012-7-26 09:38
return有带参数和不带参数之分,return带参数的就是返回值,不带参数的就是结束当前程序块。
作者: 田建    时间: 2012-7-26 09:49
楼上正解,不过可以稍微补充一点的是正因为void没有返回值,所以才可以选择性return,当返回值是void时,即使没有return,程序也能自动返回,而非void则不可!
作者: 李菁    时间: 2012-7-26 10:00
return是用来结束方法的,return后面没有返回值是因为main方法的返回值是void
Scanner in=new Scanner(System.in);

06.                System.out.println("Ente String:");

07.                String input =in.nextLine();

08.                if(input==null || input.equals(""))   当输入的input的值为空时,结束方法
                                                          因为是在main方法里,所以不return,方法也是可以结束的


09.                     return;


作者: 孙建飞    时间: 2012-7-26 10:59
return 有两种含义:1.表示已经做完,离开此方法。
                   2.如果此方法产生一个值,这个值要放在return后面。
如果返回类型是void,return的作用是“已经做完,离开此方法”。所以去掉return也可以照样运行
作者: 罗宵    时间: 2012-7-26 10:59
一般一个方法中有返回类型的话,return后面要跟返回值,如果没有返回类型,可以不用return,若有return则是结束语句,不往下执行
如:if(input==null || input.equals(""))

09.                     return;
return意思是当满足if条件时,就结束语句。
作者: 刘奇    时间: 2012-7-26 11:14
return只是告知函数返回,结束运行,用为是void,所以返回类型当然是空了
作者: 吴立杰    时间: 2012-7-26 12:08
楼主:记住了,void类型内也是存在return的,只是如果你不写,虚拟机会自动给你加上,return就是结束这个方法啊,return下面的代码不会被执行到。
作者: 杨志    时间: 2012-7-26 13:07
main函数的 return 表示程序结束。
如果学过C的话,就知道在C中的main方法是用return 0 表示结束的。
这里的意义一样都是表示程序结束。
程序结束的方式有两种(现在知道的两种),可以选择而return结束。
当然如果没有return那么其实}也是表示程序或者方法结束。
所有在这里仅仅表示函数结束而已。
但是当return 的后面带有 参数的时候。
比如
  1. int a = 1;
  2. return a;
复制代码
那么就表示将方法的返回值。或者说调用该方法后,经过运算产生一个结果
通过return返回给调用者去处理。希望能帮助你吧!
作者: 马州州    时间: 2012-7-26 14:09
刚好之前我看到过一个对return详解的文章
在这里我说也说一下吧
Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。

在return语句的各类文章中,大多仅仅介绍了return语句用于有返回值(非void返回值)的方法中。而很少或没有介绍return语句在vodi返回值方法中的运用。

return语句用在非void返回值类型的方法中,不但能返回基本类型,还可以返回(包括用户自定义类的)对象。

像你这个程序中,return就是结束代码块的,如果没有这个return,那么你的程序执行到最下面的时候怎么结束呢?








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