A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓超军 中级黑马   /  2012-7-26 09:20  /  1725 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

先看代码:
  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的作用又是什么?

9 个回复

倒序浏览
return有带参数和不带参数之分,return带参数的就是返回值,不带参数的就是结束当前程序块。
回复 使用道具 举报
楼上正解,不过可以稍微补充一点的是正因为void没有返回值,所以才可以选择性return,当返回值是void时,即使没有return,程序也能自动返回,而非void则不可!
回复 使用道具 举报
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;

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

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

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

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

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



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马