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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙汇川 黑马帝   /  2012-2-10 08:45  /  2264 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

return语句后面可以什么都不写吗?直接写个return ;

6 个回复

倒序浏览
return的常用作用有以下两种
一种是返回参数所用的关键字,假如一个有返回值的方法执行完了之后需要返回一个参数,示例:public string functionTest(){
         String a = "abc";
         return a;
}
那么这个方法被调用之后就会返回一个值为abc的字符串,string result = functionTest();


第二种用法是,代码执行到此处终止。
比如当代码执行到某个地方会出现几种结果,然后其中一种结果就不能执行后续代码,这时候在那里加上一个return就可以终止后面的代码执行。

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
return 语句可以使程序从当前方法中退出,返回到调用该方法的语句处,继续程序的执行。返回语句有两种格式。

    * return expression: 返回一个值给调用该方法的语句,返回值的数据类型必须与方法声明中的返回值类型一致。可以使用强制类型转换来使类型一致。
    * return: 当方法说明中用 void 声明返回类型为空时,应使用这种格式不返回任何值。
public class TestReturn {
    public static void main(String args[]) {
       TestReturn t = new TestReturn();
        t.test1();
        t.test2();
    }

    /**
     * 无返回值类型的return语句测试
     */
    public void test1() {
        System.out.println("---------无返回值类型的return语句测试--------");
        for (int i = 1; ; i++) {
            if (i == 4) return;
            System.out.println("i = " + i);
        }
    }

    /**
     * 有返回值类型的return语句测试
     * @return String
     */
    public String test2(){
        System.out.println("---------有返回值类型的return语句测试--------");
        return "返回一个字符串";
    }
}


评分

参与人数 1技术分 +2 收起 理由
唐秀启 + 2 很给力!

查看全部评分

回复 使用道具 举报
在函数当中。return语句后面可以什么都不写,表示返回为空。
例public void test()
{
int i=1
System.out.print("this is a " + i);
return;//void 对应返回当然为空了。要是返回类型为int,则return后面则带个int类型值。
}
在控制块代码中return表示返回到调用该方法的语句处,继续程序的执行。
for (int i = 1; ; i++) {
            if (i == 4) return; //这里的return表示跳出for循环即返回到for外面。继续程序的执行。
            System.out.println("i = " + i);
        }

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
可以不写,不写的话,返回null
回复 使用道具 举报
1.void型   void f2()  
 {   int i=1;   //return;//这样也可以,不要这一句也可以   }   有时即使被调用函数是void类型 被调函数中的return也不是毫无意义的   举例:
  #include "stdio.h"  
 void function()  
 {printf("111111");  
 return;  
 printf("222222");   }   
main()  
 {   function();   }   
运行结果为:屏幕上只输出一串数字1 而没有2。 但是如果去掉function函数中的return语句 就可以同时输出一串数字2  
   这里的return其实还有个退出该程序的作用!也就是说在printf("111111");后面加了个return,就表示结束该函数,返回主函数中去了!

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
戚雪晖 黑马帝 2012-2-10 12:17:14
7#
1.在函数有返回值类型的时候return后面必须返回运算结果(该类型的数据)
class ReturnTest
{
  boolean test1()
{
    return true;
}
}
要注意:必须要确保该函数能执行到最后的大括号;可能执行完毕的部分都有返回值。
例如以下就是错误的:
public int function()
{
  return 3;//从这里return,那么以后的代码是永远执行不到的
  System.out.println("last...");
}
下面错误:
public int function(boolean flag)
{
  if(flag)
    return 1;
  else
    return 2;
  return 3;//这句也执行不到
}
如下也是错误:
public int function(boolean flag)
{
  if(flag)
    return 1;
}
如果flag为true 返回1,但是如果flag为false,也就是说程序还要往下走,走到最后必须要return 一个结果,但是却没有结果
       
2.在函数无返回值类型的时候,最后的return可写可不写,因为无论return上面有多少语句,函数运行到最后都是结束该函数。
void function()
{
System.out.println("第一步");
System.out.println("第二步");
.......
return;//可写可不写
}
3.return可以令程序从当前无返回值类型的函数中跳出,并结束该函数。
void function(boolean flag)
{
   System.out.println("第一步");
   return;//程序运行到这里就跳出并结束了该函数,以下不会被执行。
   System.out.println("第二步");
  ......
  }

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

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