循環詳解和各種小細節

循環 

 

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
 
 
        }
    }
}
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章