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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭佳佳 中级黑马   /  2012-8-9 11:54  /  1662 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

using System;
class Forloop {
public static void Main() {
for (int i=0; i < 20; i++) {
if (i == 10)
break;
if (i % 2 == 0)
continue;
Console.Write("{0} ", i);
}
Console.WriteLine();
}
}

这段代码里的break是或者的意思吗?可以用while替代吧。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

6 个回复

倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 使用道具 举报
continue和break在循环体中是使用频率很高的。
continue表示跳出本次循环,执行循环的步进语句,而后执行下一次循环条件的判断。
break表示终止这一层循环,如果是两层for循环的话,你在哪一层使用break语句,就终止那一层循环,但是,如果在内层循环中使用break,则结束的是内层的循环,而外层的还是要继续执行的。
楼主所谓的while是将这个循环体改成while循环的意思吧,如果是这个意思的话,是可以用while替换的,可以改成这样的:
using System;
class ForLoop
{
        public static void Main()
        {
             int i = 0;
             while(i<20)
            {
                if (i == 10)
                    break;
                if (i % 2 == 0)
                {
                    i++;
                    continue;
                }
                Console.Write("{0} ", i);
                i++;
            }
            Console.WriteLine();
        }
}
用这样的while循环和你写的for循环,结果是一样的,都是:
1 3 5 7 9

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
运行的结果为1,3,5,7,9
break:在这段代码中的含义是   当for循环中 i==10的时候跳出循环不再执行
continue:当for循环中的i能被2整除时,不再继续执行,从新执行for循环语句,继续进行下面的判断

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
这段代码是让你理解  break 和continue
break是提出循环
continue是跳过当前这次循环
可以用while替换
回复 使用道具 举报
break跳出整个循环,continue跳出当层循环
回复 使用道具 举报

for (int i=0; i < 20; i++)
{
if (i == 10)
break;
//这本来是一个20次的循环,break结束当前循环,这里出现的break使循环提前终止了。
if (i % 2 == 0)
continue;
//continue结束本次循环,所以continue以下的语句不执行,跳回去执行下一次循环。


Console.Write("{0} ", i);
}
Console.WriteLine();


//总的程序效果是输出10以下的奇数。break不是或者的意思,是结束该循环的意思,不可以用while替代。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马