1. 程式人生 > 其它 >程式設計學習第一週D(if else的廬山真面目)

程式設計學習第一週D(if else的廬山真面目)

技術標籤:我和爸爸學程式設計c#遊戲開發

今天是週六,爸爸先給我複習了下前幾天晚上學的程式設計知識,然後告訴我今天時間多,要讓我再見識下if else的威力。天吶!還是if else,我還不能學習更多英語單詞,那我什麼時候可以寫遊戲?

爸爸跟我說if else有好幾種形態,這幾天我們寫的都是終極形態。

if (條件判斷1)
{
    程式語句;
}
else if (條件判斷2)
{
    程式語句;
}
else if (條件判斷3)
{
    程式語句; 
}
...
else
{
    程式語句; 
}

如果前面的條件加起來包含了所有條件,程式不可能走向最後一個else的話,最後一個else可以省略。

if (條件判斷1)
{
    程式語句;
}
else if (條件判斷2)
{
    程式語句;
}
else if (條件判斷3)
{
    程式語句; 
}
...

如果所有情況裡只有兩個判斷條件的話,可以去除中間的else if 。

if (條件判斷1)
{
    程式語句;
}
else 
{
    程式語句;
}

如果只關心某個判斷條件,甚至可以減肥成下面這樣。

if (條件判斷1)
{
    程式語句;
}

可以歸納為if必須有,else if可以有0~N個,else可以沒有,有的話只能出現一次。

另外可以將多個判斷條件寫在一個()裡,如用&&表示兩個判斷條件都成立才執行,用||表示只要其中一個判斷條件成立就可以執行。如爸爸給我講的一個求最大數的例子:輸入3個數,程式回答我們最大的那個數。可以通過下面的程式碼完成任務。

using System;
namespace Test
{
    public class Program
    {
        static void Main(string[] args)
        {
            int m1 = int.Parse(Console.ReadLine());
            int m2 = int.Parse(Console.ReadLine());
            int m3 = int.Parse(Console.ReadLine());
            if (m1 >= m2 &&
m1 >=m3) { Console.WriteLine("第一個數"+m1+"最大"); } else if (m2 >= m1 && m2 >=m3) { Console.WriteLine("第二個數"+m2+"最大"); } else if (m3 >= m1 && m3 >=m2) { Console.WriteLine("第三個數"+m3+"最大"); } } } }

最難的Boss是if else裡可以還包含if else的各種形態,然後裡面的if else繼續可以包含各種形態的if else,可以無限地這樣下去。就像最大的魚可以吃中等大小的魚,中等大小的魚可以吃小的魚,小的魚可以繼續吃比它還小的魚。
在這裡插入圖片描述
求最大數的程式可以通過巢狀if else來實現。

using System;
namespace Test
{
    public class Program
    {
        static void Main(string[] args)
        {
            int m1 = int.Parse(Console.ReadLine());
            int m2 = int.Parse(Console.ReadLine());
            int m3 = int.Parse(Console.ReadLine());

            if (m1 >= m2 )
            {
                if (m1 >= m3)
                {
                    Console.WriteLine("第一個數"+m1+"最大");
                }
                else
                {
                    Console.WriteLine("第三個數"+m3+"最大");
                }
               
            }
            else 
            {
                if (m2 >= m3)
                {
                    Console.WriteLine("第二個數"+m2+"最大");
                }
                else
                {
                    Console.WriteLine("第三個數"+m3+"最大");
                }
            }
        }
    }
}

原來if else還有這麼多種玩法,爸爸說靈活運用if else可以處理很多很多功能。然後又說教了一番“這個是武功裡的扎馬步,基本功必須練好”,“這個是建房子,根基沒打好,後面建高了房子很容易倒塌”。最後爸爸給我留了幾道練習題,讓我週日再練習if else。