C# Online ! 第二十篇:邏輯課程 Part I ~ C# 靈活又實用的 if 陳述式 (if-else)

  • 12841
  • 0
  • C#
  • 2011-07-08

C# Online ! 第二十篇:邏輯課程 Part I ~ C# 靈活又實用的 if 陳述式 (if-else)

各位朋友大家好! 今天要跟大家介紹的是 if 陳述式,其實 if 陳述式跟上一篇所介紹的三元運算子?: 有點相似,if 陳述式會根據 Boolean 運算式的值選取要執行的陳述式。不同的地方在於我們如果使用 if 陳述式不需要一個變數來儲存結果(所以不能使用指派運算子),而是依照條件執行其它不同的陳述。本篇最後會做一個練習題,可以跟著一起做,會更清楚知道 if 陳述句該如何運用唷。

if 陳述式的語法如下:

 

if  (<條件判斷>)

<如果 條件判斷 為 true,執行這裡的程式碼(陳述)>

 

從以上的語法介紹來說明,if()內的條件會先做運算,運算結果是布林值(一定要是布林值),如果運算結果為 true,則會執行它底下的程式碼(陳述式),如果運算結果為 false,以上的語法介紹,並沒有 為false 時需執行的程式碼(陳述式),所以不會執行任何動作。

 

所以當我們想要讓條件判斷結果為 false 時,去執行一些事情,這時候就可以用到 else 來加入陳述式,直接來看一下語法:

 

if (<條件判斷>)

<如果 條件判斷 為 true,執行這裡的程式碼(陳述)

else

< 如果條件判斷 為 fasle,則執行這裡的程式碼(陳述)>

 

以上的語法例子,如果條件判斷為 true ,則執行 if 底下那一行程式碼,如果為 false,則執行 else底下的那一行程式碼。

再來就是在使用 if 陳述式的時候,通常都會使用 {} 大括弧 來把陳述式的區塊括起來,如下所示:

 

if (<條件判斷>)
{
<如果 條件判斷 為 true,執行這裡的程式碼(陳述)>
}
else
{
< 如果條件判斷 為 fasle,則執行這裡的程式碼(陳述)>
}

 

以上同一個{}括起來的區塊,我們可以繼續擴充我們想要增加的陳述式,而且也會比較好辨識,因此建議在用if 陳述式的時候,不管底下要執行的陳述式是不是只有一行,最好還是用{}括起來

 

簡單的介紹完用法以後,我們直接來看例子吧,這樣會更清楚,例子如下:

bool result = true;

if (result)
{
    Console.WriteLine("The variable is set to true.");
}
else
{
    Console.WriteLine("The variable is set to false.");
}

 

以上例子我們可以看到, result是bool 型別的變數 ,我們指派 true的值給 result,接著用 if 去判斷 result的值為 true 還是 false,如果為 true,則在螢幕上顯示"The variable is set to true.",如果為false,則顯示"The variable is set to false.",在這個例子中,因為 result 為 true,所以 else 永遠不會被執行。

在上面介紹時有提到,使用 {} 來擴充我們想新增的陳述式,當然也包含 if 陳述式, 看下面的例子:

 

if (x > 5)
{
    if (y > 10)
        Console.Write("Statement_1");
}
else
    Console.Write("Statement_2");

 

以上例子為先判斷 if ( x > 5) 如果為 true,則執行 if(y >10),如果還是為true,則顯示"Statement_1",如果if(y >10)為 false,則不會做任何動作,如果if ( x > 5) 為false,則直接顯示"Statement_2"。

 

看完這些例子,有沒有比要清楚了呢? 接下來我們就來運用if 陳述式做個練習題吧!

練習目標:

讓我們輸入兩個數字,然後在螢幕上顯示出第一個數字是大於、等於還是小於第二個數值。(解答在本篇最下方)

 

執行後的結果為下圖所示(圖1)(圖2)(圖3)

 

Ch20-01(圖1)

 

Ch20-02(圖2)

 

Ch20-03(圖3)

 

本次練習題解答如下:

 

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

namespace Chapter20
{
    class Program
    {
        static void Main(string[] args)
        {            
        string comparison;
        Console.WriteLine("Enter a number:");
        double myNum1 = Convert.ToDouble(Console.ReadLine());
        Console.WriteLine("Enter another number:");
        double myNum2 = Convert.ToDouble(Console.ReadLine());
        if (myNum1 < myNum2)
        {
            comparison = "less than";
        }
        else
        {
            if (myNum1 == myNum2)
            {
                comparison = "equal to";
            }
            else
            {
                comparison = "greater than";
            }
        }
        Console.WriteLine("The first number is {0} the second number.",comparison);
        Console.ReadKey();
        }
    }
}

 

小提醒:if 陳述式不一定要有 else,但是 else 一定要有一個相對應的if ,else是和它最接近且未配對的if配成一對。有多個if-else時,最好寫階梯狀,並且將配對的if、else對齊,這樣程式碼才會整齊並且較好讀。

 

 

希望資深的前輩們與跟我一樣剛開始想學習C#的初心者,可以給我一些建議跟鼓勵,或是幫我按個讚!您的鼓勵就是我的動力! 感謝您們 ~

(本文中相關內容有參閱、引述MSDN)

 

 

 

 

 

 

 

 

 


如果這篇文章對您有幫助,請幫我點選「我要推薦」、按個讚、或是幫我推到其他平台;您的鼓勵將會是我繼續努力的一大動力!!

若是有任何指教或是需要討論之處,也不用客氣,請在下面留言給我,我將會儘速回覆~

Share | . . . . . . . . . .