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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李后量 中级黑马   /  2012-5-15 19:10  /  5537 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李后量 于 2012-5-15 19:17 编辑

先看代码
public static int ReadInt()
        {
            int number = 0;
            do
            {
                try
                {
                    number = Convert.ToInt32(Console.ReadLine());
                    return number;
                }
                catch
                {
                    Console.WriteLine("输入错误,请重新输入");
                }
            }
            while (true);
        }
    }

想问的是程序运行到return的时候为什么能直接跳出do-while?难道是在方法中只要遇到return就结束该方法的运行吗?如果是的话,那是不是用break也能跳出啊?

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

3 个回复

倒序浏览
return 是返回值 的意思,既然 此方法 已经 有输出了 就无需 再 运行下去了,所以 就  return 出一个值了----
break 是 跳出的意思  , 用break也可以 跳出,不过 就 没有 返回值了 -----switch case 中 就 用的 break 跳出----

当然 还有 contiune ,continue是 跳出 循环过程 直接检查 循环条件  循环条件 满足 就 继续执行,不满足 就结束 -----

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

回复 使用道具 举报
王卫 发表于 2012-5-15 19:37
return 是返回值 的意思,既然 此方法 已经 有输出了 就无需 再 运行下去了,所以 就  return 出一个值了-- ...

“既然此方法已经有输出了就无需再运行下去了”这句话到位,醍醐灌顶啦……
回复 使用道具 举报
return 是直接跳出函数体,并将返回值返回到调用函数调用的地方
被调用函数就是在需要的时候才在内存中开辟空间,进行加载,目的就是为了得到return的返回值
所以遇到return之后,就直接跳出函数体,而不是do-while循环语句
如果在do-while中继续有该函数的调用语句,则继续执行,达到函数自身的循环调用,不过,一般情况下都是在满足一定的条件下才这么做的,否则会造成死循环,程序无法继续执行下去
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马