黑马程序员技术交流社区
标题:
void 返回值疑问
[打印本页]
作者:
凝聚
时间:
2013-10-30 12:16
标题:
void 返回值疑问
本帖最后由 凝聚 于 2013-10-30 13:26 编辑
1.。。public static void numm(int nu)
{
if(nu>0)
{
numm(nu/2);
System.out.println(nu%2);
}
}
2.。。 public static int getSum(int n)
{
if(n==1)
return 1;
return n+getSum(n-1);
}
这两段代码我觉得都得返回数值啊,怎么第一个函数是void 类型的。而第二个是int 类型的,请具体说一下什么时候需要返回值,什么时候不需要返回值啊?谢谢了
作者:
赵许星
时间:
2013-10-30 12:26
void 代表没有返回值,int 就是一个整形 返回值。
不知楼主学过C吗?在C语言中,void 还有第二个功能:万能类型。比如定义一个 void *p,该指针可以指向任意类型的变量!
作者:
雨过丶天已晴
时间:
2013-10-30 12:55
楼主,我先举个例子吧。
假设你有买饭和吃饭的功能,我叫你去买饭,你买完饭回来,是不是需要给我一盒饭?
但是如果我叫你去吃饭,那你就不需要给我任何东西了。
这里的饭,其实就是返回值,而不给我东西就是void
总结一下就是:
当调用函数需要得到某种结果,以备后用的时候,就需要返回值,就像买饭,我需要得到饭
当调用函数不需要任何结果的时候,就不需要返回值了,就是void,就像吃饭,我不需要得到任何东西
那你前面的疑问就可以解开了吧
希望对楼主有用,不对之处,大家多多指正
作者:
零下五度的水
时间:
2013-10-30 12:57
打个比方,你写了一个程序,如果只是拿来自己练手的,那写完就没下文了,这就相当于没有返回值,
如果是因为老师留了这个作业,那你这个程序就得当成返回值交给老师,这个时候的老师就相当于调用这个方法的地方
作者:
忄雾飞扬
时间:
2013-10-30 13:09
你技术分37分,竟然还问这个问题,我想,你的技术分咋来的,无语,
——好现在说说返回值问题,什么时候需要返回值,不是我说了算,而是你说了算,当你编写的代码需要在……调用的方法运算完后的结果(值)时,你的被调用的方法就需要返回值,相反则不需要。
一句话,方法什么时候需不需要返回值,是由你编写的代码所指定的,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2