黑马程序员技术交流社区

标题: return用法 [打印本页]

作者: T-fra    时间: 2015-5-10 23:04
标题: return用法
我知道return的意思,  但不知道具体该什么时候用,有什么用。 麻烦最好是举几个浅显易懂的例子来具体说明一下。谢谢

作者: Ray丶少年    时间: 2015-5-11 00:14
本帖最后由 Ray丶少年 于 2015-5-11 23:04 编辑

return定义在函数中,用于返回返回值(并结束函数)。比如:
public int show()
{
    ...;
    return int型数值
}

当方法的返回值类型是void时,retrun语句如果在最后一行可以不写return语句单独存在时下面不可以跟语句,因为执行不到。如
int x = 0;
return 5;
x++;//该句执行不到,代码报错

作者: 菜鸟的求学路    时间: 2015-5-11 20:18
追加楼上的   补充一些
return  还有结束方法的作用
  1. public  void show(){
  2.          //代码快
  3.        return;//结束该方法
  4. }
复制代码

作者: brouse    时间: 2015-5-11 20:57
这个词是用在方法中的,用于返回返回值的
作者: LPStone    时间: 2015-5-11 21:00
一楼正解!!!!!!!!!!!!!
作者: bboyXiaoNuo    时间: 2015-5-11 21:02
返回函数结果,或者终止函数
作者: 夕阳的刻痕    时间: 2015-5-11 21:29
一楼正解!
作者: T-fra    时间: 2015-5-11 23:22
还像懂了哦 谢谢
作者: ZSMAN    时间: 2015-5-11 23:23
函数有返回值的时候就要return,想要中途退出函数也可以用return
作者: 雪风飞花    时间: 2015-5-12 00:51
二楼说得挺详细的
作者: Hison_lian    时间: 2015-5-12 01:00
return属于控制跳转语句,用于结束方法的,在结束方法时需要带回参数时,会带个值回去,如果不需要带回值,一般可以不写。
作者: ruibocool    时间: 2015-5-12 10:40
其实我也很好奇,有些函数
  1. public int compare(Object o1, Object o2) {
  2.                                 if(o1 instanceof Employee1 && o2 instanceof Employee1){
  3.                                         Employee1 e1 = (Employee1)o1;
  4.                                         Employee1 e2 = (Employee1)o2;
  5.                                         MyDate birth1 = e1.getBirthday();
  6.                                         MyDate birth2 = e2.getBirthday();
  7.                                         if(birth1.getYear() != birth2.getYear()){
  8.                                                 return birth1.getYear() - birth2.getYear();
  9.                                         }else{
  10.                                                 if(birth1.getMonth() != birth2.getMonth()){
  11.                                                         return birth1.getMonth() - birth2.getMonth();
  12.                                                 }else{
  13.                                                         return birth1.getDay() - birth2.getDay();
  14.                                                 }
  15.                                         }
  16.                                 }
  17.                                 return 0;
  18.                         }
复制代码

既然函数中有其他的return语句了,为什么还要在末尾加一个return 0呢?
作者: T-fra    时间: 2015-5-18 00:14
ruibocool 发表于 2015-5-12 10:40
其实我也很好奇,有些函数
既然函数中有其他的return语句了,为什么还要在末尾加一个return 0呢? ...

同感 现在我知道 了 每个方法都有return的
作者: 王英明    时间: 2015-5-18 00:18
用于方法结束和返回值
作者: zlynnb2015    时间: 2015-5-18 00:22
在定义函数的时候声明了有返回值的时候就要用return,如果是void就不用return了,作用主要是返回方法的结果,这个是函数要求。
作者: 虎鹏    时间: 2015-5-18 00:26
顶!!!楼上!!!!
作者: 陈明佳    时间: 2015-5-18 19:39
当有具体的返回值时,就需要用到return
作者: 姜秋艺    时间: 2015-5-18 19:51
看回复脑补了一下...........

作者: sss18310878521    时间: 2015-5-18 22:15
return都是放在方法中,主要分为两种情况,
第一种是返回值,如:
public int void(){
    .......
    return x;   //x代表的就是该方法我们需要返回结果

}
第二种,主要用于结束整个循环:
public void method(){
   for(; ;){
    for( ; ;){
      ......
           return;        //在这里无论是嵌套了多少个循环,只要达到return的条件,整个循环都是终止
  }
}
}
   楼主,解释的够清楚不?
作者: 黯然残影    时间: 2015-5-18 23:22
返回值类型为void的时候省略不写,其他返回值类型函数必须return返回同类型的结果。
作者: 守株人    时间: 2015-5-18 23:33
谢分享,学习了
作者: shawdo    时间: 2015-5-18 23:45
当方法返回值不是void时,必须return方法所给定的返回值类型的值。
作者: gzp123    时间: 2015-5-18 23:52
这个词是用在方法中的,用于返回返回值的
作者: 夜愿Relax    时间: 2015-5-18 23:53
恩,看了学习学习
作者: yupei    时间: 2015-5-18 23:54
还有结束当前循环的作用!!!
作者: 啊全    时间: 2015-5-19 00:09
返回值。。学到后期就会懂了,慢慢来,不着急




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