黑马程序员技术交流社区
标题:
return语句在函数总取到什么作用
[打印本页]
作者:
\(^o^)/
时间:
2014-4-21 11:30
标题:
return语句在函数总取到什么作用
/*
* 将字符串反转。
*/
class AD
{
public static void main(String[] args)
{
String s=" ab cd ";
sop("("+reverseString(s)+")");
}
public static String reverseString(String s)
{
return reverseString(s,0,s.length());//在这边的话是调用重载函数的,如果不加return显然编译失败,但是加上return后就通过了,return在这边是取到一个什么样的作用。
}
public static String reverseString(String s,int start,int end)
{
char[] chs=s.toCharArray();
reverse(chs,start,end);
return new String(chs);
}
public static void reverse(char[] chs,int x,int y)
{
for(int start=x,end=y-1;start<end;start++,end--)
{
swap(chs,start,end);
}
}
public static void swap(char[] chs,int x,int y)
{
char temp=chs[x];
chs[x]=chs[y];
chs[y]=temp;
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
return reverseString(s,0,s.length());//在这边的话是调用重载函数的,如果不加return显然编译失败,但是加上return后就通过了,return在这边是取到一个什么样的作用?是将值返回的话为什么参数列表不同也可以?
作者:
二小傻
时间:
2014-4-21 11:40
和你说的没有关系 是这个方法定义的时候要返回一个字符串 你在reverseString(s,0,s.length());下面return一个字符串就不会报错了吧
作者:
二小傻
时间:
2014-4-21 11:42
public static String reverseString(String s){}这样的方法是有返回值的,实现中必须return一个字符串给调用者,
public static void reverseString(String s){}返回值可以用void实现时就不必有return
作者:
Tking
时间:
2014-4-21 11:44
也是起到返回的作用呀, reverseString(参数1,参数2,参数);这个函数方法,将返回一个String类型,而reverseString(参数)函数也是返回String,
在调用 reverseString(参数) 顺便又将 他返回给调用者,像中介一样
这是将句代码写成了一句代码
本来是 =>
String temp=rverseString(参数1,参数2,参数);
return temp;
这样应该看得懂了吧
作者:
tjsyj
时间:
2014-4-21 12:00
return的作用 第一 是 返回值
比如你写一个方法 要返回一个数值 比如 加法的 你最后要返回一个 和
public static int add(int a, int b) //这里的 int 如果变为 String 则必须 返回 一个字符串才可以
{
return a+b; //返回a+b的和 返回的值的类型 必须 和上面的 int 保持一致 。}
因为这个方法需要一个 int 类型的返回值,所以 你 写 return 0; 也不会报错。
第二是 用于结束方法运行 。如果函数的返回值是 void, return 就可以省略不写 但是还是存在的。
作者:
陈妙俊
时间:
2014-4-21 18:26
return 是退出该方法,假如你这个方法不要返回值的时候,也就是 public void 方法名:的时候就可以不用,他运行到大括号结尾就自动返回,当 方法签名中 不是这种 public void 方法名:的时候就要写返回 ;一般用编译器都会提醒你要返回值,不用编译器时,java在生成.clsaa文件的时候也会报错的。在有些方法中,我只需要得到我想要的值的时候就返回,不想执行其他的操作的时候也可以用return进行返回。
作者:
dede668
时间:
2014-4-21 21:04
每个方法都有return语句,void也有,main方法也有,默认的是return;只是你写的时候省略了,但是虚拟机在编译的时候会自动加上,主要是代码执行到此处终止,而如果是有返回值的方法,必须手动加上,返回这个值给其他方法调用,楼主这个你明明定义的有返回值类型的方法,你不加肯定会报错。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2