黑马程序员技术交流社区
标题:
return 语句
[打印本页]
作者:
孙汇川
时间:
2012-2-10 08:45
标题:
return 语句
return语句后面可以什么都不写吗?直接写个return ;
作者:
马欢
时间:
2012-2-10 09:07
return的常用作用有以下两种
一种是返回参数所用的关键字,假如一个有返回值的方法执行完了之后需要返回一个参数,示例:public string functionTest(){
String a = "abc";
return a;
}
那么这个方法被调用之后就会返回一个值为abc的字符串,string result = functionTest();
第二种用法是,代码执行到此处终止。
比如当代码执行到某个地方会出现几种结果,然后其中一种结果就不能执行后续代码,这时候在那里加上一个return就可以终止后面的代码执行。
作者:
林铁柱
时间:
2012-2-10 09:10
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 "返回一个字符串";
}
}
作者:
成果
时间:
2012-2-10 10:07
在函数当中。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);
}
作者:
lvwenwen88
时间:
2012-2-10 10:20
可以不写,不写的话,返回null
作者:
蒙武辉
时间:
2012-2-10 10:40
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,就表示结束该函数,返回主函数中去了!
作者:
戚雪晖
时间:
2012-2-10 12:17
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("第二步");
......
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2