1. 程式人生 > >菜鳥的C#學習之旅——C#跳轉語句

菜鳥的C#學習之旅——C#跳轉語句

目錄

一、break語句

二、continue語句

三、擴充套件:比較break語句和continue語句之間的異同

四、return語句

五、throw語句

六、goto語句

七、總計



一、break語句

1.break語句:是中斷當前迴圈,或與label一起使用,中斷相關聯的語句。

2.通常情況在switch語句和while、for、for...in、或do...while迴圈語句中使用break語句。

3.舉例:百分制轉換為五分制

程式碼展示:

            Console.WriteLine("請輸入您的成績:");
            int score = Convert.ToInt32(Console.ReadLine());

            switch (score / 10)
            {
                case 10:
                case 9: Console.WriteLine("A");
                    break;
                case 8: Console.WriteLine("B");
                    break;
                case 7: Console.WriteLine("C");
                    break;
                case 6: Console.WriteLine("D");
                    break;
                case 5:
                case 4:
                case 3:
                case 2:
                case 1:
                case 0: Console.WriteLine("E");
                    break;
                default: Console.WriteLine("Error!");
                    break;
            }
            Console.ReadKey();

二、continue語句

1.continue語句:表示接受本次迴圈,而不是終止整個迴圈的執行,是結束本次迴圈進行下一次迴圈。

2.即跳出迴圈體中下面尚未執行的語句,對於while迴圈,繼續求解迴圈條件。而對於for迴圈程式流程接著求解for語句頭中的第三個部分expression表示式。

3.舉例:實現1到100(含)之間的除了能被7整除之外所有整數的和。

程式碼展示:

            用 while continue實現計算1到100(含)之間的除了能被7整除之外所有整數的和。

            int i = 1;

            int sum = 0;
            while (i <= 100)
            {
                if (i % 7 == 0)
                {
                    i++;
                    continue;
                }

                sum += i;

                i++;
            }
            Console.WriteLine("總和為{0}", sum);

三、擴充套件:比較break語句和continue語句之間的異同

1.continue語句只結束本次迴圈,而不終止整個迴圈的執行。而break語句則是結束整個迴圈過程,不再判斷執行迴圈的條件是否成立;

2.break可以在if-else中使用直接跳出當前迴圈;continue語句的作用是跳過迴圈體中剩餘的語句併到迴圈末尾而強行執行下一次迴圈;

3. 在多層迴圈中, 一個break語句只向外跳一層;continue語句只用在for、while、do-while等迴圈體中, 常與if條件語句一起使用, 用來加速迴圈。

四、return語句

1.return 表示把程式流程從被調函式轉向主調函式並把表示式的值帶回主調函式,實現函式值的返回,返回時可附帶一個返回值,由return後面的引數指定。

2. return通常是必要的,因為函式呼叫的時候計算結果通常是通過返回值帶出的。 如果函式執行不需要返回計算結果,也經常需要返回一個狀態碼來表示函式執行的順利與否(-1和0就是最常用的狀態碼),主調函式可以通過返回值判斷被調函式的執行情況。

3.語法結構:

if(a<3)
{

 //操作1

 //操作2

 //操作3

 //操作4

}
else
{

 //操作5

 //操作6

 //操作7

}

舉例:求長方形的面積

程式碼展示

public class Rectangle
{
double height, width, area;
public Rectangle(double _height, double _width)
{
    this.height = _height;
    this.width = _width;
}

public double GetArea()
{
    area = height * width;
    return area;
}
public void Show()
{
    Console.WriteLine("該長方形面積是{0}", area);
}
}

class Progarm
{
static void Main()
{
    Rectangle r = new Rectangle(10, 12);
    r.GetArea();
    r.Show();
     Console .ReadKey  (); 
}
  

五、throw語句

1.Throw會丟擲/傳遞異常,通過在catch塊裡使用throw語句.可以改變產生的異常,比如我們可以丟擲一個新的異常,throw語句有各種各樣的,並且很有必要.

2.舉例:

程式碼展示:

//在try塊中獲取並使用資源,在catch塊中處理異常情況,並在finally塊中釋放資源
            try
            {
                //有可能出現錯誤的程式碼
            }
            catch (Exception)//如果try中的程式碼出現異常,則進去catch中
            {

                throw;//專門把所有的異常扔出來
            }
            finally
            {
                //最後執行的程式碼,程式碼無論是否出現異常都會走這裡
            }

六、goto語句

1.goto語句無條件轉移控制到一個標籤語句;

2.goto語句可以跳到它本身所在塊內的任何標籤語句,或跳出到任何他被巢狀的塊內的標籤語句;

3.goto語句不能跳入任何巢狀在該語句本身所在塊內的任何塊。

注意:使用goto語句不好,因為他會導致若結構化的、難以除錯和維護的程式碼。咱們儘量的不用或少用。

七、總計

我們常用到的跳轉語句有break語句、continue語句、throw語句、return語句。在這裡總結不是目的,目的在於更好的認識和掌握它,以後在使用過程中可以更加的靈活自如。