黑马程序员技术交流社区
标题:
java函数中的return等问题
[打印本页]
作者:
刘学明
时间:
2013-4-22 12:21
标题:
java函数中的return等问题
本帖最后由 刘学明 于 2013-4-23 18:45 编辑
一个函数中什么时候需要用到return.
return不加参数代表什么?
return不加参数的时候什么时候可以省略?
请详细说明一下所有的情况 谢谢!
作者:
孤独的鸟人
时间:
2013-4-22 12:33
一般的就是用在有反回值(非void类型)的方法中,用来返回方法指定类型的值,并且返回值类型必须与方法指定类型相同,同时结束方法执行;也可以用在返回值为void的方法中,用来终止方法运行;
如: public void f()
{
for(int i=0;;i++)
{
if(i==3)
{
return;
}
else
{
System.out.println(i);
}
}
}
作者:
wanggang
时间:
2013-4-22 12:33
1.可以在具有对象引用返回类型的方法中返回null public Button doStuff(){ return null; }2.数组是完全合法的返回类型 public String[] go(){ return new String[]{"wangsan","wangsan","wangsi"}; }3.在具有基本返回类型的方法内,可以返回任何值或变量,只要他们可以隐式转换成所声明的返回类型 public int foo(){ char c=‘c’; return c;//char可以转化成int }4.在具有基本返回类型的方法内,可以返回任何值或变量,只要他们可以显示强制转换成所声明的返回类型(这个不举例子了)5.也可以用在返回值为void的方法中,用来终止方法运行;如: public void f(){ for(int i=0;;i++){ if(i==3){ return; }else{ System.out.println(i); } } }6.在具有对象引用返回类型的方法内,可以返回任何值或变量,只要他们可以隐式转换成所声明的返回类型(通过is-a测试即可) public Animal getAnimal(){ return new Dog();//只要Dog继承Animal即可 }
作者:
郭军亮
时间:
2013-4-22 12:34
每个方法上都有一个返回类型的,比如public int sum(){}这个方法的返回类型是int型,那么这个函数在结束时就应该返回一个int型的数值实际上就是这个函数的的答案。比如
public int sum()
{
return 1;
}
就相当于这个方法就等于1如( public int sum(){return 1;} )=1 。 当return不加参数的时候仅代表这个函数结束,没有返回任何数值。 只有在方法的返回类型为 void的时候才可以省略。如
public void print()
{
System.out.println("hehe");
}
就不用加return,希望这样说你能够懂一点儿。
作者:
肖川
时间:
2013-4-22 12:45
函数申明的返回值类型是什么函数中就return回什么类型。
若为void则可以不用return
return 不加参数其实返回的是空值,即 return null;
总之只要返回值是void就可以不用写return,其他时候都要写return
作者:
晓风妮子
时间:
2013-4-22 13:08
return一般使用在有返回值的方法中,返回方法声明中的数据类型,一般在主方法中有相应的数据变量接收。
return在返回值为void的方法中的使用,是为了根据方法设计者的需求来终止程序。java程序中有两个可以终止程序继续运行的语句一个是return,
还有一个是throw new RunTime Exception();,程序执行到这里就会自动返回调用的地方去。
在2楼提到的终止for循环的使用return很少见,一般都用break;,但是双层或者多层for循环中return是非常有用的,它可以直接终止掉整个循环,而break只能终止内层
或者外层的单一循环。比如:
public class ReturnDemo {
public static void main(String[] args) {
function();
}
private static void function() {
for(int x=0;x<100;x++){
for(int y=0;y<200;y++){
if(x==50){
return;
}else{
System.out.println(x+y);
}
}
}
}
}
作者:
gerenvip
时间:
2013-4-22 14:13
第一个问题什么时候需要用到return:当你的方法需要有返回值得时候,需要在你的方法内部加上return语句。
例如你求和,最后有个运算结果需要返回来供其他函数使用,那么这是需要return
也即,当你的函数上返回值类型不是void的时候,函数内部都要有return返回值。
第二个问题return不加参数代表什么?:当在方法内部有多种情况时,返回各种不同的值。但最后程序可能为了严谨,加上return;即返回空,为了是前面各种情况都不成立是有个返回值。或者是希望程序在此情况下停掉,所以返回空。
第三个问题:return不加参数的时候什么时候可以省略?:一般情况最好写上。为了是程序的严谨。
作者:
wanggang
时间:
2013-4-22 15:12
1.可以在具有对象引用返回类型的方法中返回null
public Button doStuff()
{ return null;
}
2.数组是完全合法的返回类型
public String[] go()
{ return new String[]
{"wangsan","wangsan","wangsi"
};
}
3.在具有基本返回类型的方法内,可以返回任何值或变量,只要他们可以隐式转换成所声明的返回类型
public int foo()
{ char c=‘c’; return c;//char可以转化成int
}
4.在具有基本返回类型的方法内,可以返回任何值或变量,只要他们可以显示强制转换成所声明的返回类型(这个不举例子了)
5.也可以用在返回值为void的方法中,用来终止方法运行;如:
public void f()
{ for(int i=0;;i++)
{ if(i==3)
{ return;
}
else
{ System.out.println(i);
}
}
}
6.在具有对象引用返回类型的方法内,可以返回任何值或变量,只要他们可以隐式转换成所声明的返回类型(通过is-a测试即可)
public Animal getAnimal()
{ return new Dog();//只要Dog继承Animal即可
}
作者:
黄玉昆
时间:
2013-4-22 21:35
如果问题未解决,请继续追问,如果问题解决了,请将问题分类改为“已解决”,谢谢
作者:
向日葵的曙光
时间:
2014-3-12 10:20
return是一条语句执行到这里的时候就结束的标志,当返回类型是void时,则不需要返回值,也可以省略!仅仅表示一个结束语句。
当返回一个具体类型时,则必须返回一个相同类型的值。
还有一种情况是关于return 与finally谁的值先输出的问题,如果不懂,可以继续提问,接下来我可以以实例的方式帮助解答。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2