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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liu01230 中级黑马   /  2015-5-12 19:23  /  2465 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

while循环是先判断后执行循环体,do while循环是先执行循环体再判断,这是不是就意味着do while循环会比while循环多执行一次循环体?

14 个回复

正序浏览
liu01230 发表于 2015-5-12 21:20
那不就是do while肯定会比while多执行一次循环了

嗯,可以这么理解,不过具体用do while还是用while这得看具体情况
回复 使用道具 举报
是的,do while 是先执行,再判断, while 是先判断再执行,肯定是do while 多执行一次了
回复 使用道具 举报
/*
我觉得本身两个都是一种循环结构,它们之间没有什么必要的联系的。就像for循环跟while循环
结构之间没有什么必要的关系一样。
举一个例子:
// 下面的while循环了3次
int main()
{
    int i = 1;
    while (i < 4)
    {
        i++;
    }
    return 0;
}
// 但是下面的这个do-while循环相同的判断条件只执行了2次
int main()
{
    int i = 1;
    do
    {
        i++;
    } while (i < 4)
    return 0;

}
从上面两个例子来看,具体执行的循环次数,关键是看循环语句。
只不过由于结构的特点,do-while循环是先执行循环体,再判断条件,
所以的无论条件是否成立,肯定会执行一次循环体罢了。
*/
回复 使用道具 举报
确实是这样,do,,while都是无条件先执行一次循环
回复 使用道具 举报
如果条件刚开始就不成立,do while循环会执行一次,while循环,一次也不执行。但是如果第一次条件成立的话,是一样的
回复 使用道具 举报
是这样,无论判断条件do while是否成立都会执行一次,可以理解成do while会比while多一次
回复 使用道具 举报
差不多这个意思了
回复 使用道具 举报
是滴,你这么理解是正确的
回复 使用道具 举报
只能说,do while再循环中至少循环一次,而while至少循环0次;条件不一样,不能判断谁循环的多与少
回复 使用道具 举报
do while不管成不成立都会执行一次。
回复 使用道具 举报
可以这么说
回复 使用道具 举报
在相同的判定条件下是成立的
回复 使用道具 举报
ios专用 发表于 2015-5-12 19:56
可以这么理解,如果条件都不成立的情况下,do  while会执行一下,while不会执行 ...

那不就是do while肯定会比while多执行一次循环了
回复 使用道具 举报
可以这么理解,如果条件都不成立的情况下,do  while会执行一下,while不会执行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马