循环详解和各种小细节

循环 

 

break,continue,return的区别

     break:
          <1>在单层循环中跳出当前循环,代码执行到break后面的代码不会再继续执行,并且循环结束;
 
          <2>在嵌套循环中跳出当前层的循环,代码执行到break当前层循环中后面的代码不会再执行,并且
                 跳出当前层的循环,继续执行外层的循环!
 
     continue:
            跳出本次循环,当前循环如果没有结束会继续执行下面的循环,直到当前循环结束(例 :当前循环为第二次,
           后面还有三次循环,continue只会跳出第二次循环,后面第三次以及第N循环不受影响继续执行)
 
      return    :
            return结束当前方法和循环
 
           <1>如果循环在Main 方法中执行到return后会直接结束程序,后面代码不会执行
 
           <2>如果循环在普通方法中执行到return会跳出当前循环,并且跳出方法,也就是不管循环中return
                  后面的代码,还是循环结束以后方法中在当前循环后面的代码都不会执行;
 
死循环   :
      当循环没有结束的条件时,循环会一直执行,称为死循环
 
循环条件:
      当满足当前循环条件是才开始循环,循环条件一般都是bool类型的值或者表达式和逻辑表达式
 
while循环和do---while 循环的区别:
      while循环先判断条件,符合循环条件后执行,do---while循环会先执行一次循环体,再去判断循环条件是否去继续循环!
     
     1.for 循环
 
       循环变量:
             在for循环中存在循环变量,初始化后用于记录循环次数
         <1>语法:
                                   循环变量 ; 循环条件    ; 循环变量的自增(用于改变循环条件)
            for ( int i = 0; i < "循环次数"; i++)
            {
                循环体
            }
 
 
      2.while循环
           注意:
            while循环必须定义一个条件跳出循环,否则循环会变成死循环;
 
          <1>语法
                          执行顺序:
                                          循环条件
            while ( true)
            {
              循环体
            }
 
 
      3.do ---while循环  
            注意:
              do---while循环会先执行一次循环体在去判断循环条件是否继续循环,同样需要一个跳出循环的条件
 
          <1>语法:
                           执行顺序: 先执行循环体,然后判断条件,符合条件继续执行循环体,直到不符合条件跳出循环体,或者形成死循环
                                    do
            {
               循环体
                循环条件
            } while ( true);
                  
      4.foreach 循环 
             注意:
                foreach一般和集合数组连用,用来遍历数组或者集合 (取出数组或者集合中的每一个元素)
                var:
                     全类型也叫推断类型, var单独声明的时候必须先赋值,直接声明不赋值,
                     编译器不知道声明的var是什么类型会报错!var的赋值可以是任何的变量类型
          <1>语法:
                             执行顺序: 执行第一次循环将数据集合(collection)中的第一个元素赋值给变量 item ,
                                             然后执行第二次循环将数据集合(collection)中的第二个元素赋值给变量item,
                                            再然后按照上述的顺序继续执行,直到数据集合(collection)中的最后一个元素取出!
                                         变量名   数据集合
            foreach (var item in collection)
            {
                循环体
            }
                
代码示例:
 
using System;
namespace 第八章循环的使用
{
    class Program
    {
        static void Main( string[] args)
        {
 
#region for循环
            //打印九九乘法表
            //第一层循环用于打印行
            //i=1 ,循环到i<10 ,循环9次,对应乘法表的9行
            for ( int i = 1; i <10; i++)
            {
                //第二层循环用于打印列
                //从1 开始,循环小于等于i,乘法表每行都会怎么一个公式,所以小于i ,当i =1 时
                // 代表循环1次,当等于2是循环两,代表每列的公式数量
                for ( int j = 1; j <= i; j++)
                {
                    //利用i 和 j 形成乘法口诀表的公式,不要使用 Console.WriteLine();会换行
                    Console.Write( "  {0}*{1}={2}  ",j,i,i*j);
                }
                //每打印一列进行一次换行
                Console.WriteLine();
            }
            #endregion
 
 
#region while循环
            //使用while循环求1到100所有奇数的和
            //定义一个变量用于结束循环使用
            int _num = 0;
            //循环条件100次
            // 定义一个变量 和 用于记录每次相加的值
            int _sum=0;
            while (_num<100)
            {
                //判断所1到100中谁是奇数,对2取余不等于0的都是奇数
                if (_num%2!=0)
                {
                    //将所有的奇数相加
                    _sum += _num;
                }
                //将变量自增,以便于结束循环
                _num++;
            }
            Console.WriteLine( "所有奇数的和为:"+ _sum);
            #endregion
 
 
#region do----while循环
           
            //提示用户输入 "游戏开始"只要输入的不是"游戏开始",就一直提示输入游戏开始
            //如果用户输入游戏开始,打印游戏结束,结束循环
            do
            {
                //提示用户输入游戏开始, \"  为转义字符,代表"" (引号)
                Console.WriteLine( "请输入\"游戏开始\"");
                string _yongHuShuRu = Console.ReadLine();
                if (_yongHuShuRu == "游戏开始")
                {
                    Console.WriteLine( "游戏结束");
                    break;
                }
            } while ( true);
            #endregion
 
#region foreach循环
            //声明一个int数组,并打印数组中的每一个元素,求出数组中元素的和!
            //并找出数字中的最大值和最小值
            //定义一个int变量用来记录数组中元素的和
            int _sum1 = 0;
            //定义一个int 变量用来记录最大值(int.MinValue 是int类型中的最小值)
            int _maxNum = int.MinValue;
            //定义一个int 变量用来记录最小值(int.MaxValue 是int类型中的最大值)
            int _minNum = int.MaxValue;
            int[] _intArr = { 10,11,24,26,36,-6};
            foreach (var item in _intArr )
            {
                //遍历数组,把数组中的每一个元素打印出来
                Console.WriteLine(item);
                //计算数组中元素的和
                _sum1 += item;
                //求数组中的最大值
                //如果最小值小于当前数组元素的值,就把当前数组元素的值赋给最大值
                if (_maxNum<item)
                {
                    _maxNum = item;
                }
                //求数组中的最小值
                //如果最大值大于数组当前的元素,就把数组元素的值赋值给最小值
                if (_minNum >item)
                {
                    _minNum = item;
                }
            }
            Console.WriteLine( "数组的和:"+_sum1+ "\n数组中最大值:"+_maxNum+ "\n数组中最小值"+_minNum);
            #endregion
 
 
        }
    }
}
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值