黑马程序员技术交流社区

标题: void关键字是无返回值,为什么有时候还会出现return [打印本页]

作者: Doublekill    时间: 2014-3-6 22:04
标题: void关键字是无返回值,为什么有时候还会出现return
本帖最后由 Doublekill 于 2014-3-7 18:58 编辑

一般void是无返回值,有时候也会出现return,他们矛盾吗?为啥,求帮忙讲解下!
作者: 李恒权    时间: 2014-3-6 22:35
    这就看return是放在什么地方,在什么情况下用了。
比如,
1、在while循环、do-while循环、for循环中,用return的意思就是跳出循环;
2、在创建属性时,也是需要用到return来返回值;
3、在方法中,当调用者想访问方法中的变量时,就得通过return来返回值,此时方法中的void就得要改成与return返回的值的类型相同。
作者: azve    时间: 2014-3-10 11:56
返回值为void类型的方法体里面也可以有return 存在,只不过这个return不带返回值,它的作用并不是返回一个结果,而是表示方法执行到此就结束了,return以下的代码将不再执行。
比如:
class Program
    {
        static int sum = 0;
        static void Main(string[] args)
        {
            doSth(true);
        }

        static void doSth(bool b)
        {
            if (b == false)
            {
                //b为false,下面程序代码就不执行了,提前直接返回到主程序
                return;
            }
            else
            {
                //如果不是false就执行完所有,再返回到主程序
                sum++;
            }
        }
    }
作者: azve    时间: 2014-3-10 20:12
azve 发表于 2014-3-10 11:56
返回值为void类型的方法体里面也可以有return 存在,只不过这个return不带返回值,它的作用并不是返回一个 ...

:)thank U。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2