while和do/while循环
while语句的常规形式:while(booLean-expression) //括号里为一个布尔表达式
statement
只要布尔表达式求值为true,计算机就会反复执行语句statement。如果求值为false,就从statement之后的那一行语句执行。
do/while循环与while循环非常相似,只是它用于从1到n的数字循环,而且n在循环开始之前无法确定.do/while的一个典型应用就是反复提示用户输入.
do/while循环的常规形式: do
statement
while(booLean-expression);
与while循环不同的是,do/while不管while循环里的布尔表达式为true还是false,都至少对循环体执行一次.
for循环
递增和递减运算符经常在for循环中使用。与while循环相似,for循环反复执行一个代码块,直到满足一个指定的条件。区别在于,for循环有一套内建的语法规定了如何初始化、递增以及测试一个计数器的值。
下面代码使用for循环以二进制形式显示一个整数
for循环的常规形式如下
for(initial;booLean-expression;Loop)
statement
下面对for循环的各个部分进行了解释
initial表达式执行第一次循环之前的操作。initial表达式不一定非要声明一个新变量。例如,可以在之前声明好变量,在for循环中只是初始化它。然而,在这里声明的变量的作用域只在for语句之内。
for循环的booLean-expression部分指定了循环结束条件。一旦该条件为false,就会终止循环,这和while循环是相似的。并且仅当布尔表达式求值为true时,for循环会一直重复。在上例中,循环会在count递增到64的时候退出。
loop表达式会在每次循环之后执行。loop表达式一般表示为对initial表达式中的变量递增或递减
statement部分是在条件表达式保持为true的时候执行的代码。
for语句的圆括号内允许省略任何元素。for(;;){....}是完全有效的,只要你有办法从循环中退出。类似地,initial和loop表达式可以是由多个子表达式构成的一个复杂表达式。
选择for和while循环
虽然两种语句可以替换使用,但假如涉及某种形式的计数器,而且在循环初始化的时候就知道循环次数,那么一般使用for循环。相反,假如循环不基于计数器,或者在刚开始的时候无法确定循环次数,那么一般使用while循环。
foreach循环
C#语言的最后一个循环语句是foreach。foreach用于遍历一个数据项集合,设置一个标识符来依次表示其中的每一项。在循环期间,可以对数据项执行指定的操作。foreach循环的特点在于:不会出现计数错误,也不可能越过集合边界。
foreach语句的常规形式
foreach(type identifier in collection)
statement;
下面对foreach语句的各个部分进行解释
type为代表collection中的每个数据项的identifier声明一个数据类型。
identifier是一个只读变量,foreach结构会自动将collection中的下一项指派给它。identifier的作用域限制在foreach循环以内。
collection是代表多个数据项的一个表达式,比如数组。
statement是每一次foreach循环时执行的代码
执行到foreach语句时,它将cells数组中的第一项,也就是值'1'赋给cell变量。然后执行foreach语句块内的代码。if语句判断cell的值是否等于'0'或'x',如果两者都不是,就在控制台输出cell的值。下一次循环时,将下一个数组值赋给cell,依次类推。
要记住的一个重点是,foreach循环期间,编译器禁止修改identifier变量(这里是cell)