循環語句中 bark,continue,return


 循環語句中常常出現bark,continue,rturnl來配合自己的循環來達到某種需求.

一。break
    1. break語句形式: break;
    2. break語句功能:
       A. 在switch語句中,break是其語法本省的一部分,break語句會終止其后語句的執行,退出switch語句。
       B. 使一個循環立即結束,也就是說在循環中遇到break語句時,循環立即終止,程序轉到當前循環體后的第一個語句去繼續執行。
    3. 注意:
       A. break語句在循環中使用時,一般總是與if一起使用,當條件滿足(或不滿足)時,負責退出循環。
       B. 如果循環體中使用switch語句,而break出現在switch語句中,則它只用於結束switch,而不影響循環。
       C. break語句只能結束包含它的最內層循環,而不能跳了多重循環。
    4. 例: break語句的執行只能從while循環中退出,繼續執行for循環的其它語句
而不是退出外層循環。

             for( )
             {
                …
                while ( )
                {
                    if( )
                    {
                        break ;
                    }
                }
                …
             }
二。continue  
    1.continue語句形式: continue;
    2.continue語句功能:   它只能出現在循環體中,其功能是立即結束本次循環,即遇到continue語句時,不執行循環體中continue后的語句,立即轉去判斷循環條件是否成 立,即中止當次循環進入下一次循環。 
    3.Continue與break語句的區別: continue只是結束本次循環,而不是終止整個循環語句的執行,break則是終止當前整個循環語句的執行,轉到當前循環語句后的下一條語句去執行。
     程序表達式及流程圖如下:
(1.)  while(表達式1)                         (2.)  while(表達式1)
       {                                                      {
             ……                                                  ……

             If(表達式2) break;                              if(表達式2) continue;
             ……                                                   ……

       }                                                      }

 

三.Return  
    1.return語句形式: return (返回值);
    2.功能:return可以返回一個函數的值,並且跳出結束這個函數;
只要遇到return語句,程序就在那一行代碼停止執行,執行控制將立刻返 回到調用該程序的代碼處。
對於返回值類型為void的程序,return關鍵字單獨作為完整的語句使用:return;
實例:

1)當return一個string類型時:以把一個字符串轉換為小寫為例

        //把一個字符串轉換為小寫並返回,功能同string.ToLower
        public static string ToLower(string str)
        {
            char[] array = new char[str.Length];   //定義一個字符數組,長度剛好等於給定的字符串的長度
            int diff = 'a' - 'A';   //計算差值,ASCII碼值是A<a(固定的,不用知道這個差值多少)
            //使用一個循環讀取給定的字符串,每次讀取一個字符
            for (int i = 0; i < str.Length; i++)
            {
                char ch = str[i];  //把當前循環讀取的字符賦值個ch
                char newch = '\0';
                //判斷這個字符是否是大寫
                if (char.IsUpper(ch))
                {
                    newch = (char)(ch + diff); //轉換為小寫
                }
                //如果這個字符為小寫,不轉換
                else
                {
                    newch = ch;
                }
                array[i] = newch;  //把轉換后的字符放回字符串該循環位置
            }
            return new string(array);
        }

2)當return一個數組時:以返回一個int類型數組為例

     注意:return一個數組時,在使用的這個方法的時候,要在使用時聲明一個同類型的數組用於接受方法返回的數組

public class Contains
    {
        // 按順序輸出小於給定數字的所有帶7的數字及7的倍數
        public static int[] Contains7(int number)
        {
            int n = 0; //用於記錄計算出來的符合要求的結果數目
            for (int i = 1; i <= number; i++)
            {
                //判斷是否為7的倍數
                if (i % 7 == 0)
                {
                    n++;//*注意了 循環語句中不會給你自增,如果你不寫這段代碼..程序會出現死循環 i始終等於7
                    continue;
                }
                string str = i.ToString();
                if (str.Contains('7'))
                {
                    n++;
                }
            }
            int[] arry = new int[n];//聲明一個整形數組存放結果,長度剛好等於符合要求的個數
            int index = 0;
            //List<int> arry = new List<int>();
            for (int j = 1; j <= number; j++)
            {
                //判斷是否為7的倍數
                if (j % 7 == 0)
                {
                    arry[index++] = j;
                    continue;
                }
                string str = j.ToString();
                if (str.Contains('7'))
                {
                    arry[index++] = j;
                }
            }
            return arry;
        }
        public static void Main(string[] args)
        {
            Console.WriteLine("請輸入一個數:");
            int count = Convert.ToInt32(Console.ReadLine());
            //聲明一個整形數組用於接收(靜態類)
            int[] arry = Contains.Contains7(count);
            //循環輸出結果
            for (int i = 0; i < arry.Length; i++)
            {
                Console.Write("{0}\0", arry[i]);
            }
            Console.Read();
        }
    }

這是我自己寫的集體的例子來分析下上面三種語句的應用

  int i=0;

  which(i<12)

  {

    Console.Write("i={0}",i)

    i++;

    if(i==10)

      {

          //break  //終止which循環,繼續which后面的代碼;

          //contrue //終止which這次循環,繼續which后面的代碼;

          return //終止當前執行的函數,后面的代碼不會執行

      }

      Console.Write("自增后的i={0}",i)

  }

  Console.ReadKey();

  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM