黑马程序员技术交流社区

标题: C#中几个循环,几个循环的作用 [打印本页]

作者: 白白胖胖    时间: 2014-4-5 12:58
标题: C#中几个循环,几个循环的作用
for 、 do while 、foreach。
其中for了解 ,do while 没怎么见到过,foreach好像是遍历的意思吧,请大家详细给讲讲,谢谢了

作者: 惊风侠    时间: 2014-4-6 15:39
while是先判断后执行,do while是执行后判断,for可读可写,foreach只读
作者: 崔征    时间: 2014-4-7 10:42
for循环是在一定次数内循环,先判断条件,在循环,在进行下一轮循环。
do while循环是在一种条件下循环,先循环一遍,在判断条件,如果满足再执行下一轮循环。
foreach用于循环访问集合以获取需要的信息,方便于遍历。但不能用于在源集合中添加或移除项。也就是只能读,不能写。
作者: 黒■色    时间: 2014-4-7 11:21
for(int i=0;i<10;i++)  //当我们知道循环的次数的时候,就用for循环
{
函数体
}

int i=0;
while(i != 10)
{
    函数体
   i++;
}
while循环的条件可以是bool类型,但是它是先判断再执行
而do-while循环:
bool flag;
do
{
函数体                  //通过循环体来改变flag的值。
}
while(flag)
循环条件可写为bool类型,与while循环最大的差别就是先执行,再判断

foreach(int i in 需要遍历的数组) 从第一个元素一直查询到最后一个元素

总结:知道循环次数的必用for循环
          条件为bool类型的 根据具体情况选择while和do-while
          元素都需要访问,用foreach
作者: 爱吃桃子的猫    时间: 2014-4-7 13:12
本帖最后由 爱吃桃子的猫 于 2014-4-7 13:19 编辑

(1)while 循环语法:
     while(条件)//循环条件
   {
      循环体;//要循环执行的N条程序
   }
执行过程:
1. 先判断循环条件,如果条件为true,则转向2;如果条件为false,则转向3
2. 执行循环体,循环体执行完成后,转向1
3. 跳出循环,循环结束
注意:在循环体中,一定要有那么一句话,改变循环条件的某个变量的值,使循环条件终有那么一天为false
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace while循环
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.            //n次循环,如果i从0开始,则循环条件为i<n
  12.             //n次循环,如果i从1开始,则循环条件为i<=n(i<n+1)
  13.             int i = 0;//i=0,1,2,3,4 因为i是控件循环次数的,所以i又叫循环变量
  14.             while (i < 100)
  15.             {
  16.                 Console.WriteLine("欢迎来传智播客学习"+i);
  17.                 i++;//千万不要忘记写
  18.             }
  19.             Console.ReadKey();

  20.         }
  21.     }
  22. }
复制代码


(2)do-while循环语法:
     do
     {循环体;}
     while(条件);
执行过程:
    1. 执行循环体
    2. 判断条件是否成立,如果条件为true,则转向1,如果条件为false,则转向3
    3. 跳出循环,循环结束
总结:  
    while 先判断后执行     
     do-whlie 先执行,后判断     
     假如循环条件一开始就不成立,对于while循环,一次都不会执行,对于do-while循环,循环体会执行一次     
     所以do-while的循环体,一般至少会被执行一次
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace do_while
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             string answer="y";
  12.             do
  13.             {
  14.                 Console.WriteLine("小兰表演一遍舞蹈!");
  15.                 Console.WriteLine("老师你满意吗?(y/n)");
  16.                 answer=Console.ReadLine();
  17.                 while (answer != "y" && answer != "n")
  18.                 {
  19.                     Console.WriteLine("只能输入y和n,请重新输入!");
  20.                     answer = Console.ReadLine();
  21.                 }
  22.             }while(answer=="n");
  23.             Console.WriteLine("跳的不错,回去休息吧");
  24.             Console.ReadKey();
  25.         }
  26.     }
  27. }
复制代码
(3)for-each      
    foreach(int i in 需要遍历的数组)     
   {      
     System.Console.WriteLine(i);//引用i变量的语句   
   }
执行过程:       
循环访问数组,从第一个元素一直查询到最后一个元素,获取所所需信息。

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace _foreach
  6. {
  7.     class Program
  8.    {
  9.         static void Main(string[] args)
  10.      {
  11.           int[] arr = { 1, 2, 3 };
  12.           foreach (int i in arr)
  13.           {
  14.              System.Console.WriteLine(i);
  15.           }
  16.          Console.ReadKey();
  17.      }
  18.    }
复制代码







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