C# Online ! 第廿一篇:邏輯課程 Part II ~ C# if 陳述式的延伸 (if - else if)

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

C# Online ! 第廿一篇:邏輯課程 Part II ~ C# if 陳述式的延伸 (if - else if)

大家好! 上一篇邏輯課程跟大家介紹了 if 陳述式,為了不要搞得太複雜,所以在這一篇才介紹延伸 if 陳述式的用法 if - else if,之前有提到 if 陳述式裡面可以再包含 if 陳述式,我們直接來看簡單的例子:

 


if (x > 1)
{
    if (y > 10)
    {
        Console.Write("Statement_1");
        if (z > 20)
        {
            Console.Write("Statement_2");
        }
    }
}
else
{
    Console.Write("Statement_3");
}

 

以上是舉例 if 陳述式裡面可以再包含 if 陳述式,所以這邊一開始會先判斷 if (x>1) ,如果判斷結果為true,則會繼續下一個 if (y>10)的判斷,結果若是true,會執行 Console.Write("Statement_1"); 以後再繼續下一個 if (z>20)的判斷,如果為true,會執行 Console.Write("Statement_2"); ,如果一開始 if(x>1) 為false,那麼則會直接跳到 else 那邊去執行 Console.Write("Statement_3"); 這一個陳述式。(如果 if (x>1)判斷為 true,if (y>10) 為 false,那麼這個程式就不會執行任何動作了。 )

 

舉這個例子,大家有沒有發現,目前都是在判斷"如果是true,則執行...如果是true,則執行....",那如果我想要判斷 " 如果 ....否則如果..." 的時候該怎麼做呢? 這時候我們就可以用 else if 來陳述了,看一下語法:

 

if (<條件判斷>)
{
       <如果 條件判斷 為 true,執行這裡的程式碼(陳述),如果 為 false 則到下一個else if 。>
}
else if (<條件判斷>)
{
       <如果 條件判斷 為 true,執行這裡的程式碼(陳述),如果 為 false 則到下一個else if 。>
}
else if (<條件判斷>)
{
       <如果 條件判斷 為 true,執行這裡的程式碼(陳述),如果 為 false 則到下一個else if ,沒有else if ,則到else。>
}
else
{
       <如果 以上條件判斷都為 false ,執行這裡的程式碼(陳述)>
}

 

 

這個用法有甚麼差別呢? 其實有非常大的差別,我們一樣用上一個例子來舉例,這次改成使用 else if:

 


if (x > 1)
{
    Console.Write("Statement_1");
}
else if (y > 10)
{
    Console.Write("Statement_2");
}
else if (z > 20)
{
    Console.Write("Statement_3");
}
else
{
    Console.Write("Statement_4");
}

 

以上例子運算的方式為先去判斷 if (x>1) ,結果為true,則執行 Console.Write("Statement_1"); 後就結束了。如果判斷為false,不會直接跳到 else,而是會跳到 else if (y>10),去判斷 if (y>10) ,如果為true,則執行 Console.Write("Statement_2"); ,結束。如果是false,則再到 else if (z>20),判斷 if(z>20),如果為true,則執行Console.Write("Statement_2"); ,結束,如果是false,則到else執行Console.Write("Statement_4");,然後結束,由這個例子可以看到,我們也可以使用 else if 讓陳述式無限的延伸,是蠻實用的一種判斷方式。

 

小題醒:else if 是當同一個層級的上一個 if 判斷結果為false的時候,才會到這邊再做一次條件判斷。

 

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

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

 

 

 

 

 


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

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

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