黑马程序员技术交流社区

标题: 嵌套for循环中的return问题,求解答 [打印本页]

作者: JAVADing    时间: 2015-6-20 23:33
标题: 嵌套for循环中的return问题,求解答
红色方框中的两个return分别代表什么??


1:如果不写return "";则会报错提示缺少返回语句,为什么??截图如下:



2:如果将return temp注释掉,打印的又是下一个return的值,为什么??截图如下:




作者: 守门员    时间: 2015-6-21 09:10

return一般使用在有返回值的方法中,返回方法声明中的数据类型,直接跳出方法
return temp的意思就是找到所需的字符串,把值返回来并提前结束方法,所以不会运行到后面的return ""
return ""是必要的,如果循环完没有符合条件的值,那这个方法就没有返回值了,所以需要一个return来对应函数的返回值,在这个程序中意味着没有找到需要的字符串


作者: 呵呵呵.    时间: 2015-6-21 10:59
新人报道,求支持,求鼓励
作者: 几率收割    时间: 2015-6-21 12:35
新人报道,求支持,求鼓励
作者: 十五号的人生    时间: 2015-6-21 12:50
涨姿势了啊      
作者: lucien_he    时间: 2015-6-21 16:31
你上面 要是定义  void    就不用返回值了   要不必须 返回   这是返回空
作者: 我要当大牛    时间: 2015-6-21 16:41
涨姿势了
作者: JAVADing    时间: 2015-6-21 16:53
由于return语句写在for循环内部,从逻辑上讲如果循环条件不符就不会执行for循环内部的return语句,所以如果不写后一个return,在编译时期jvm会认为没有返回语句而报错,如果循环内部的return有执行到就会结束函数,从而不执行下一个return
作者: bingo54    时间: 2015-6-21 17:31
如果不写return "";则会报错提示缺少返回语句,为什么??  编译器只检查语法的错误,
作者: 冯利    时间: 2015-6-21 17:40
return一般是后面跟的是返回值,如果没有返回值类型的话,return直接结束结束方法了.这和break还是有点区别
作者: xxz    时间: 2015-6-21 17:57
这是一个 返回值为 String类的方法。需要一个 String类的返回值。第一个返回值是 满足一定条件的情况下得到的。第二个是 定义的条件不满足时 ,所得到的返回值。
作者: Nemo    时间: 2015-6-21 18:53
必须有一个肯定会执行的return语句




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