1. 程式人生 > >四、C#入門基礎04(流程控制語句)

四、C#入門基礎04(流程控制語句)

一、什麼是選擇語句?

選擇語句用於根據某個表示式的值從若干條給定語句選擇一個來執行。選擇語句包括if語句和switch語句兩種。
1.1if…else
If(布林表示式)
{
語句塊
}
Else
{
語句塊
}
1.2多重if
If(布林表示式1)
{
語句塊
}
Else if(布林表示式2)
{
語句塊
}
Else
{
語句塊
}
1.3巢狀if
If(布林表示式)
{
If(布林表示式)
{
語句塊
}
Else
{
語句塊
}
}
Else
{
If(布林表示式)
{
語句塊
}
Else
{
語句塊
}
}

1.4switch語句實現多分支選擇
Switch(表示式[整數型別,字元型別,列舉型別])
{
Case 常量表達式:語句塊;
Break;
Case 常量表達式:語句塊;
Break;
……
Case 常量表達式:語句塊;
Break;
Default:語句塊;
Break;
}

二、什麼是迭代語句?

迭代語句主要用於重複執行嵌入語句。
2.1 while語句
While(布林表示式)
{
語句塊;
}

2.2 do…..while語句
Do
{
語句塊;
}while(布林表示式);

2.3 for語句
For(初始化表示式;條件表示式;迭代表達式)
{
語句塊;
}

三、什麼是跳轉語句?

跳轉語句主要用於無條件的轉移控制,跳轉語句將控制轉到某個位置,這個位置就成為跳轉語句的目標。如果跳轉語句出現在一個語句塊內,而跳轉語句的目標卻在該語句塊之外,則稱該跳轉語句退出語句塊。跳轉語句主要包括break語句,continue語句和return語句。

3.1 break
break語句只能夠應用在switch,while,do…while,for或者foreach中。

3.2 continue
continue語句只能夠應用於while,do…while,for,foreach語句,用來忽略迴圈語句塊內位於它後面的程式碼而直接開始一次新的迴圈。

3.3 return
return語句用於退出類的方法,是控制返回方法的呼叫者。如果方法有返回型別,return語句必須返回這個型別的值。如果方法沒有返回型別,應使用沒有表示式的return語句。

四、程式碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _04
{
    class Program
    {
        static void Main(string[] args)
        {


            #region 基礎的IF語句
            //基礎的IF語句
            //if(判斷條件=比較運算子 資料型別是bool){條件成真的時候執行}else{條件成假的時候執行}
            //Console.WriteLine("請輸入一個大於0的數字:");
            //int i = Convert.ToInt32(Console.ReadLine());
            //if (i>0){
            //    Console.WriteLine("輸入的數字{0}大於0",i);
            //}
            //else if (i==0){
            //    Console.WriteLine("輸入的數字{0}等於0", i);
            //}
            //else{
            //    Console.WriteLine("輸入的數字{0}小於0",i);
            //}
            //Console.ReadKey(); 
            #endregion

            #region 多重的IF
            //if...else if...else
            //else if可以出現多個 if還是隻能夠出現一個 else也只能夠出現一個
            //找人買水 礦泉水  娃哈哈  康師傅  百事  A水  冰露  
            //Console.WriteLine("請輸入礦泉水的品牌:");
            //string s = Console.ReadLine();
            //if (s.Equals("娃哈哈")) {
            //    Console.WriteLine("付款:1.5");
            //}
            //else if (s.Equals("康師傅")){
            //    Console.WriteLine("付款:1.5");
            //}
            //else if (s.Equals("百事")){
            //    Console.WriteLine("付款:2");
            //}
            //else if (s.Equals("A水")){
            //    Console.WriteLine("付款:4");
            //}
            //else if (s.Equals("冰露")){
            //    Console.WriteLine("付款:0.8");
            //}
            //else{
            //    Console.WriteLine("謝謝");
            //}
            //Console.ReadKey();
            #endregion

            #region 巢狀的IF
            //外部的if  內部的if
            //打折  夏天買棉衣(5-8)  冬天買短袖(11-3) 判斷款式 長的 短的
            //Console.WriteLine("請輸入月份:");
            //int i = Convert.ToInt32(Console.ReadLine());
            ////判斷輸入的是不是夏天
            //if (i>4&&i<9) {
            //    Console.WriteLine("請輸入款式:");
            //    string s = Console.ReadLine();
            //    if (s.Equals("長")) {
            //        Console.WriteLine("打七折");
            //    }
            //    else{
            //        Console.WriteLine("打三折");
            //    }
            //}
            //else if(i>11||i<3){
            //    Console.WriteLine("均價:59");
            //}
            //else{
            //    Console.WriteLine("不在季節內!");
            //}
            //Console.ReadKey();
            #endregion

            #region switch 語句實際上就是多重if判斷語句
            //輸入數值  不能夠輸入10 
            //Console.WriteLine("請輸入一個數值:");
            //int i = Convert.ToInt32(Console.ReadLine());
            //switch (i){
            //    case 0:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 1:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 2:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 3:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 4:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 5:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 6:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 7:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 8:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 9:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 11:
            //        Console.WriteLine("符合要求");
            //        break;
            //    case 12:
            //        Console.WriteLine("符合要求");
            //        break;
            //    default:
            //        Console.WriteLine("輸入的值是10");
            //        break;
            //}
            //Console.ReadKey();
            #endregion

            #region switch語句case塊 (條件組合塊)
            //當處理返回的結果一致時,方可使用
            //使用頻率基本上為0
            //Console.WriteLine("請輸入一個數值:");
            //int i = Convert.ToInt32(Console.ReadLine());
            //switch (i){
            //    case 0:
            //    case 1:
            //    case 2:
            //    case 3:
            //    case 4:
            //    case 5:
            //    case 6:
            //    case 7:
            //    case 8:
            //    case 9:
            //    case 11:
            //    case 12:
            //        Console.WriteLine("符合要求");
            //        break;
            //    default:
            //        Console.WriteLine("輸入的數值是10");  
            //        break;
            //}
            //Console.ReadKey();
            #endregion

            #region 迴圈 1 while 迴圈次數不確定情況下 先判斷()裡面的條件 再進行執行
            //(bool型別的值) true 執行 false 退出迴圈 
            //while (true){
            //    Console.WriteLine("你愛我嗎?");
            //    string s = Console.ReadLine();
            //    if (s.Equals("愛")) {
            //        break;
            //    }
            //}

            //int i = 0;
            //while (i < 10000){
            //    Console.WriteLine("好好學習" + i);
            //    //給當前的條件的i值加1
            //    //i += 1;
            //    i++;
            //}
            //Console.ReadKey();
            #endregion

            #region do while 先執行後判斷 使用概率0
            // if判斷來結束死迴圈
            // 死迴圈  無法預計迴圈次數
            //do
            //{ 
            //    Console.WriteLine("你長的好看嗎?");
            //    string s = Console.ReadLine();
            //    if (s.Equals("好看")) {
            //        break;
            //    }
            //} while (true);

            //int i = 0;
            //do
            //{
            //    i++;
            //    Console.WriteLine("好好學習...........{0}", i);

            //} while (i < 10);
            //Console.ReadKey();
            #endregion

            #region for 迴圈次數確定
            //for(定義初始化值;迴圈條件;初始化值++或者--)
            //定義初始化值 資料型別 一定是數字型別
            //初始化值++或者--:改變當前的變數的值
            // 迴圈條件:決定你當前的變數的值是否滿足條件 如果滿足則輸出 不滿足則退出
            //for (;;) {
            //    Console.WriteLine("a");
            //}

            //for (int i = 0; i < 100; i++)
            //{
            //    Console.WriteLine("好好學習"+i);
            //}
            //Console.ReadKey();

            //for (int i = 100; i > -1; i--)
            //{
            //    Console.WriteLine("好好學習" + i);
            //}
            //Console.ReadKey();

            #endregion

            #region 退出當前迴圈 continue
            //輸出剔除10
            //for (int i = 0; i < 20; i++)
            //{
            //    if (i==10)
            //    {
            //        continue;
            //    }
            //    Console.WriteLine(i);
            //}
            //Console.ReadKey();
            #endregion

            #region 返回到迴圈外 return
            Console.WriteLine("A");
            for (int i = 1  ; i < 20; i++)
            {
                if (i%2==0)
                {
                    return;
                    //break;
                }
                Console.WriteLine(i);
            }
            Console.ReadKey();
            #endregion


        }
    }
}