A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 凝聚 中级黑马   /  2013-10-30 12:16  /  721 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 凝聚 于 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 类型的,请具体说一下什么时候需要返回值,什么时候不需要返回值啊?谢谢了

4 个回复

倒序浏览
void 代表没有返回值,int 就是一个整形 返回值。
不知楼主学过C吗?在C语言中,void 还有第二个功能:万能类型。比如定义一个 void *p,该指针可以指向任意类型的变量!
回复 使用道具 举报
楼主,我先举个例子吧。
假设你有买饭和吃饭的功能,我叫你去买饭,你买完饭回来,是不是需要给我一盒饭?
但是如果我叫你去吃饭,那你就不需要给我任何东西了。
这里的饭,其实就是返回值,而不给我东西就是void

总结一下就是:
当调用函数需要得到某种结果,以备后用的时候,就需要返回值,就像买饭,我需要得到饭
当调用函数不需要任何结果的时候,就不需要返回值了,就是void,就像吃饭,我不需要得到任何东西
那你前面的疑问就可以解开了吧
希望对楼主有用,不对之处,大家多多指正

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
打个比方,你写了一个程序,如果只是拿来自己练手的,那写完就没下文了,这就相当于没有返回值,
如果是因为老师留了这个作业,那你这个程序就得当成返回值交给老师,这个时候的老师就相当于调用这个方法的地方
回复 使用道具 举报
你技术分37分,竟然还问这个问题,我想,你的技术分咋来的,无语,
——好现在说说返回值问题,什么时候需要返回值,不是我说了算,而是你说了算,当你编写的代码需要在……调用的方法运算完后的结果(值)时,你的被调用的方法就需要返回值,相反则不需要。
一句话,方法什么时候需不需要返回值,是由你编写的代码所指定的,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马