黑马程序员技术交流社区

标题: 谁能解释下这段代码的意思? [打印本页]

作者: 郭佳佳    时间: 2012-8-9 11:54
标题: 谁能解释下这段代码的意思?
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替代吧。
作者: liuhuafei8    时间: 2012-8-9 12:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: 化宝峰    时间: 2012-8-9 13:06
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
作者: 许波    时间: 2012-8-9 17:01
运行的结果为1,3,5,7,9
break:在这段代码中的含义是   当for循环中 i==10的时候跳出循环不再执行
continue:当for循环中的i能被2整除时,不再继续执行,从新执行for循环语句,继续进行下面的判断
作者: 彭书雄    时间: 2012-8-9 23:43
这段代码是让你理解  break 和continue
break是提出循环
continue是跳过当前这次循环
可以用while替换
作者: 王龙喜    时间: 2012-8-10 01:32
break跳出整个循环,continue跳出当层循环

作者: 刘欢(安阳)    时间: 2012-10-4 08:27

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替代。




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