C#每日一课(九)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/advent86/article/details/82316480

C#循环

有时候程序需要,多次执行同一块代码,则需要使用到循环代码结构,但是要注意的就是一定要保证循环有明确的退出条件。

C#中提供了如下几种循环类型:

while循环

只要是给定的条件为真的时候,C#中的while循环语句会重复执行循环语句块

语法

while(condition)

{

//需要循环执行的语句块

statement(s);

}

当条件为真时执行循环,为假时则会继续执行紧接着循环的下一条语句

对于while循环来说先做判断是否为真再决定是否执行循环语句块,所以循环块中的语句可能一次不会执行。

选择“文件”-“新建”-“项目”,选择Visual C#中,控制台应用(.NET Framework)

输入项目名称及项目位置,点击确定,会生成对应的项目及解决方案

在Main方法中加入如下代码 

int sum = 0;

int n = 1;

//while循环

Console.WriteLine("---------------while循环--------------");

while (n <= 10)

{

   sum = sum + n;

   n++;

}

n--;

Console.WriteLine("1+2+3+...+{0} = {1}",n,sum);

编译执行结果如下:

 

for循环

对于一个for循环是允许可以编写一个执行特定次数的循环结构

语法

for(init;condition;increment)

{

//循环语句块

statement(s);

}

init:它首先会被执行,并且它只会执行一次。允许声明并初始化任何循环控制变量,也可以不在这里写任何语句,但是之后的分号是不可少的。

condition:这是一个条件判断语句,如果为真,则会执行循环体,如果为假则会跳出循环体继续执行后面的语句

increment:在执行完循环体后,控制流程就会跳回到上面的increment语句,这个语句会用来更新循环控制变量

在Main方法中添加如下代码:

Console.WriteLine("----------------for循环--------------------");

sum = 0;

for (int i = 1; i <= 10; i++)

{

     sum = sum + i;

 }

Console.WriteLine("sum = {0}", sum);

编译运行后结果如下

 

foreach循环

C#支持foreach循环,使用foreach可以迭代数组或者一个集合对象

在Main方法中添加如下代码

Console.WriteLine("----------------foreach循环-------------------");



//定义一个数组

int[] arr = new int[] { 0,1,3,5,7,9,11,13,15};

//foreach循环

foreach (int element in arr)

{

     //遍历数组中的每一个元素

     Console.WriteLine(element);

}

int count = 0;

foreach (int element in arr)

{

     count += 1;

     Console.WriteLine("Element #{0}:{1}", count, element);

}

Console.WriteLine("在数组中总计元素数:{0}",count);

编译运行后结果如下:

 

do...while循环

do...while循环与for和while循环不一样,for和while都是在循环头部进行测试,但do...while是在循环尾部进行测试,do...while与while类似,但是注意它与while不同的是,循环体会在do中至少执行一次。

语法

do

{

statement(s);

}while(condition);

程序先执行循环体中的语句,然后测试condition条件,如果条件为真则再次跳到do循环体中进行执行循环体语句,否则跳过do...while语句继续执行后面的语句。

在Main方法中加入如下代码:

Console.WriteLine("----------------do...while循环--------------------");

sum = 0;

int a = 1;

do

{

     sum = sum + a;

     a = a + 1;

} while (a <= 10);

Console.WriteLine("a={0},sum={1}", a, sum);

编译并执行结果如下:

 

嵌套循环

C#中允许在一个循环内使用另一个循环

嵌套for循环语法

for(init;condition;increment)

{

for(init;condition;increment)

{

statement(s);

}

statements(s);

}

嵌套while循环语法

while(condition)

{

while(condition)

{

statement(s);

}

statement(s);

}

嵌套do...while循环

do

{

statement(s);

do

{

statement(s);

}while(condition);

}while(condition);

注意:除了以上的之外在任何一个循环内可以嵌套其它的循环,比如可以在一个for循环中嵌套一个while循环

 

循环控制语句

它会更改执行的正常序列,当执行离开一个范围时,所有在该范围中创建的对象都会被销毁掉。

C#中的控制语句

break语句

  1. 当break语句出现在一个循环内时,当前break语句所在循环会立即终止,而且程序会接着执行循环后的语句
  2. 它用来终switch语句中的一个case

注意:如果是使用的嵌套循环break语句如果在内循环中,则只退出内层的循环

break语句语法

break;

在Main方法中添加如下代码:            

Console.WriteLine("-------------break语句---------------");

a = 10;

while (a < 20)

{

    Console.WriteLine("a当前值是:{0}", a);

    a++;

    if (a == 15)

    {

          //退出循环

          break;

    }

}

编译执行的结果如下:

 

continue语句

它与break类似,不同的是,它不是退出整个循环而是对循环的本次执行退出,接下来会执行下一次的循环。

continue语句语法:

continue;

在Main方法中加入如下代码:            

Console.WriteLine("-------------continue语句---------------");

a = 10;

while (a < 20)

{

     Console.WriteLine("a当前值是:{0}", a);

     a++;

     if (a == 16)

     {

          //退出循环本次循环

          continue;

     }

}

编译执行结果如下:

 

无限循环

如果条件永远为真,则循环会变成一个无限循环。

比如如下的就为一个无限循环

int count = 1;

for(;;)

{

count = count + 1;

Console.WriteLine(“loop # {0}”,count);

}

当表达式不存在的时,它被假设为真。

猜你喜欢

转载自blog.csdn.net/advent86/article/details/82316480