需求更大的--if條件判斷

     現實生活中咱們,絕大多數狀況下,咱們判斷1個條件 並非說僅僅是要獲得這個結果, 而是要根據這個結果作出不一樣的反應,spa

可是比較表達式和邏輯表達式他們是用來判斷1個或者多個條件是否成立的,那咱們怎麼辦咧?    code

在代碼中的需求.有1段代碼不是非要執行,而是在知足某個條件的時候才執行.
 若是不知足就不執行.
 if結構的做用就是來實現這個需求的.blog

 

1.0 if的語法:字符串

if(bool表達式)
 {
 執行代碼
 }string

  ???什麼是bool表達式: 表達式的結果若是是bool類型的 那麼它就是1個bool表達式.
比較表達式 邏輯表達式都是bool表達式it

例如:class

 //從鍵盤上輸入一個值,若是這個值在區間[0,100]裏,則加上1000,不然不加。最後輸出結果。
            Console.WriteLine("請輸入1個值:");
            string str = Console.ReadLine();
            int num = int.Parse(str);

            if (num >= 0 && num <= 100)
            {
               num += 1000;
            }
            Console.WriteLine(num);

條件:語法

num >= 0 && num <= 100


 b. 執行步驟
 先計算bool表達式的結果.
 若是結果爲true 就執行if塊中的代碼.而後繼續往下執行.
 若是結果爲flase 就跳過if塊中的代碼 往下執行.
 c. 注意的細節:
 if的小括弧中必須是1個bool表達式. 其餘的類型是不行的.
 d. 何時使用if結構?
 若是有1段代碼不是非要執行 只有在知足某個條件的時候執行 那麼就可使用if結構.程序

又好比:密碼

//請寫1個程序 讓用戶輸入密碼 若是密碼不是"888888"  就提示錯誤. 不然什麼都不作.
            Console.WriteLine("請輸入密碼:");
            string pwd = Console.ReadLine();
            //何時纔要將用戶的輸入轉換爲數值類型. 若是這個數據須要參與算術運算 或者 比較運算中的比大小.
            //若是是比相等 或者 不等  就沒有必要轉換了 由於字符串也能夠比相等或者不等.
            if (pwd != "888888")
            {
                Console.WriteLine("密碼錯誤");
            }

            Console.WriteLine("OVER");

2.0 需求升級 

 if結構的缺點:
 只能在條件成立的時候 執行指定的代碼
 新的需求:
 條件成立執行1段代碼 條件若不成立 要執行另外的1段代碼.

if-else結構
??? 幹嗎的? 能夠實現這樣的需求: 條件成立執行1段代碼 條件若不成立 要執行另外的1段代碼.
 a. 語法
 if(bool表達式)
 {
 執行代碼
 }
 else
 {
 執行代碼;
 }
 b. 執行步驟.
 計算bool表達式的結果.
 若是結果爲true。就執行if中的代碼.不會執行else中的代碼.
 若是結果爲false 就執行else中的代碼 不會執行if中的代碼.
 各自執行完畢之後 就繼續往下執行,.
 c. 注意的細節.
 1). if後面的小括弧中必須是1個bool表達式.
 2). if和else是在一塊兒的 中間不能插入任何代碼.
 3). if和else中的代碼不可能都同時執行 也不可能都不執行. 由於bool表達式的而結果只有兩個.
 4) if的小括弧後面沒有分號.
 d. 總結
 何時使用使用if-else結構.
 咱們但願 條件成立執行1段代碼 條件若不成立 要執行另外的1段代碼.
 if(條件)
 {
 成立的時候執行的代碼
 }
 else
 {
不成立的時候執行的代碼.
}

來來來走一個:

//請用戶輸入用戶名和密碼. 若是用戶名是"admin"而且密碼是"888888" 就提示 驗證成功 不然就提示 驗證失敗

            Console.WriteLine("請輸入用戶名:");
            string userName = Console.ReadLine();
            Console.WriteLine("請輸入密碼:");
            string pwd = Console.ReadLine(); 

            if (userName == "admin" && pwd == "888888")
            {
                Console.WriteLine("驗證成功");
            }
            else
            {
                Console.WriteLine("驗證失敗");
            }

3.0 呵呵需求再次升級,(好像生活同樣天天有新的需求!生活纔好玩!)

 

 if-else結構的缺點.
 只能判斷1個條件.
咱們新的需求: 須要判斷多個條件.而且根據不一樣的條件成立來執行不一樣的代碼.

 

 if-else if-else結構.
 a. 語法
 if(bool表達式1)
 {
 執行代碼
 }
 else if(bool表達式2)
 {
 執行代碼
 }
 else if(bool表達式3)
 {
 執行代碼
 }
 else
 {
 執行代碼,.
 }

    執行步驟
從上到下的依次判斷每1個bool表達式. 只要有1個爲true,就執行其中的代碼,執行完畢之後 當即結束整個結構.
 若是判斷的結果爲false 再判斷下1個bool表達式.
 當全部的條件都不成立的時候 就執行else中的代碼.

例如:

//輸入土豪的兒子的成績. 大於90分的話 咱們就獎勵 保時捷.
            //                     80-89  奔馳汽車
            //                    70-79  東風日產
            //                    60-69  拖拉機.
            //                    30-59  打屁股
            //                    30如下  斷絕父子關係!!!~~~.

            Console.WriteLine("請輸入土豪的兒子的成績:");
            int score = Convert.ToInt32(Console.ReadLine());//99
            if (score >= 90)
            {
                Console.WriteLine("獎勵奔馳汽車...");
            }
            else if (score >= 80)
            {
                Console.WriteLine("獎勵保時捷汽車");
            }
            else if (score >= 70)
            {
                Console.WriteLine("獎勵東風日產");
            }
            else if (score >= 60)
            {
               Console.WriteLine("獎勵拖拉機...");
            }
            else if (score >= 30)
            {
                Console.WriteLine("打屁股");
            }         
            Console.WriteLine("OVER");
相關文章
相關標籤/搜索