概述
循环在生活中也常见,例如:钟表,每天都会循环,从0点 到12点是一圈。每天都会从12点经过,这个循环是由钟表驱动进行的。
而在计算机中,也存在循环,例如:要从数据库中将所有的学生信息全部读出来。可以使用循环,让计算机去一个一个的帮我们拿出来。
在C#中可以使用的循环语句有:while、do…while、for、foreach这4个。
While循环
基本语法
while语句用于根据条件值(true/false/)执行循环体(语句块)0次或多次
,当每次while语句中的代码执行完毕时,将重新查看是否符合条件值,若符合则再次执行相同的程序代码,否则跳出while语句,执行while后面的代码。while语句的基本语法如下:
while(条件表达式(要么是true,要么是false。))
{
循环体(或语句块)
}
退出后要执行的代码
- While右边的圆括号中的条件表达式的值要么是true,要么是false。
只有当值为true时才可以进入循环体重复执行其中的代码。
当条件表达式的值为false时,则退出循环,执行后面的代码
。在循环体的代码中,一定要有改变条件表达式的值为false的时候,否则while将进入死循环,死循环要禁止的。
- While循环也称为
当型循环
,或预测试循环
protected void Page_Load(object sender, EventArgs e)
{
bool b1 = true;
while(b1)
{
//循环体只有2行代码
Response.Write(b1.ToString());
Response.Write("在循环体中执行的");
b1 = false;
}
Response.Write("while已退出循环");
}
Do…while循环
基本语法
do…while语句与while语句相似,它的判断条件在循环后,do…while称为后测试循环。do…while 循环会在计算条件表达式之前至少执行一次
,其基本形式如下:
do
{
循环体(语句块)
} while(条件表达式)
可以看到,在do…while循环中,条件表达式是放在了后面,在第一次执行时,并没有进行条件判断,直接进入了循环体。第一次无条件执行完成后,再进行判断是否要继续下一次的循环。
int j = 1;
do
{
Response.Write(j.ToString() + ",");
j++;
} while (j <= 100);
Response.Write("do...while退出了");
For循环
基本语法
for语句用于计算一个初始化序列,然后当某个条件为True(真)时,重复执行循环体(语句块),如果为假,则终止循环,退出for循环。For循环也是预测试循环。
for语句的基本形式如下。
for(初始化表达式(循环变量);条件表达式;增量)
{
循环体(语句块)
}
如下代码:
for (int i = 1; i <= 100; i++)
{
Response.Write(i.ToString() + ",");
}
Response.Write("已退出for循环");
For循环也是预测试循环,并且for循环事先知道循环的次数。
双重循环
For双重循环是指在for循环中再嵌套一个for循环。这样外层for循环执行一次,则内层循环将全部执行完成。
For双重循环基本语法如下例子:
for(int i=0;i<=10;i++)
{
for(int j=0;j<=10;j++)
{
Response.Write(string.Format("i={0},j={1}", i.ToString(), j.ToString()));
}
}
Foreach循环
Foreach循环与 for循环类似,但foreach主要用于循环集合的。常用的集合有数组、List列表
,这些在后面都会学到。
char类型,表示单个字符,是使用单引号(‘’)括起来的。
在这里对string字符串进行了遍历,在字符串中,每个字符就是一个char类型,也就是说字符串是由char类型的字符组成的。多个字符组成了字符串。
所以,也可以使用foreach对string字符串进行遍历,可以将字符串理解为一个集合,该集合中存储的每一项就是一个字符char。
循环也可以称为遍历、或迭代。
跳转语句
Break语句
break语句只能应用在switch、while、do…while、for语句中。当多条switch、while、do…while、for互相嵌套时,break语句只应用于最里层的语句。
Break的中文含义是中断。
注意:break语句是退出整个循环,退出后执行后面的代码。
for (int i = 1; i <= 100; i++)
{
if (i == 5)
{
break;
}
Response.Write(i.ToString() + ",");
}
Response.Write("已退出for循环");
在此代码中,当循环到i=5的时候,执行了break语句,则退出了整个循环体。后面不再继续。
Continue语句
continue语句只能应用于while、do…while、for语句中,用来忽略循环体语句块内位于它后面的代码而直接开始一次新的循环。当多个while、do…while、for语句互相嵌套时,continue语句只能使直接包含它的循环语句开始一次新的循环。
Continue的中文含义是继续。
注意:continue只退出当前循环,会继续下一次循环,但不退出整个循环。而break会退出整个循环。
for (int i = 1; i <= 100; i++)
{
if (i == 5)
{
//break;
continue;
}
Response.Write(i.ToString() + ",");
}
Response.Write("已退出for循环");
Break与continue的区别是:break退出整个循环,continue退出当前循环,继续下一次循环
Break与continue的相同点是:都可以在do…while、while、for循环中使用。但break还可以在switch语句中使用