iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
Software Development

C#世界初探險系列 第 8

2022鐵人賽 Day 08 if...else if...else...

  • 分享至 

  • xImage
  •  

嗨嗨~今天要來講講流程控制
什麼是流程控制呢?
就是if/else if/else、for等等的啦~
那我們先從選擇結構來講吧
寫程式的時候呢,常常會遇到需要判斷的時候(若...則...否則...)
那我們該如何實現呢?
很簡單,我們用if...else if...else就好了

if(條件)
{
    //敘述區域
}
if(條件1)
{
    //敘述區域
}
else
{
    //敘述區域
}
if(條件1)
{
    //敘述區域
}
else if(條件2)
{
    //敘述區域
}
...
else if(條件N)
{
    //敘述區域
}
else
{
    //敘述區域
}

我們來練習看看吧~

            int a = 5, b = 10;
            if(a == b) //如果a=b就顯示a=b,否則執行else if(a>b)
            {
                Console.WriteLine("a=b");
            }
            else if(a > b) //如果a>b就顯示a>b,否則執行else
            {
                Console.WriteLine("a>b");
            }
            else //如果a=b跟a>b不成立的話,則顯示a<b
            {
                Console.WriteLine("a<b");
            }

if...else if...else

當然也可以if裡面再包if(巢狀選擇)啦~
就像這樣

if(條件1)
{
    if(條件1-1)
    {
        //敘述區域
    }
    else if(條件1-2)
    {
        //敘述區域
    }
    else
    {
        //敘述區域
    }
}
else
{
    if(條件2-1)
    {
        //敘述區域
    }
    else
    {
        //敘述區域
    }
}

當然除了if外,還有另一種選擇switch可以用。當程式中使用過多if會使得程式的複雜度提高,不易閱讀及難維護,甚至還會降低程式的執行效率,若改用switch可使程式看起來簡潔易維護。語法如下:

switch(運算式或變數)
{
    case value1:
        //敘述區域
        break;
    case value2:
        //敘述區域
        break;
    ......
    default:
        //敘述區域
        break;
}

讓我們練習一下吧~

            int num;
            Console.Write("請輸入一個數字:");
            num = int.Parse(Console.ReadLine());
            switch(num % 2)
            {
                case 0:
                    Console.WriteLine("是偶數");
                    break;
                case 1:
                    Console.WriteLine("是奇數");
                    break;
                default:
                    Console.WriteLine("啥都不是");
                    break;
            }

switch

選擇結構就到這邊啦~其實還有一個三元運算子,但...有點複雜(?,所以就跳過啦,畢竟也不常用到的感覺。
大家掰掰~(逃跑


上一篇
2022鐵人賽 Day 07 輸入跟格式化輸出控制
下一篇
2022鐵人賽 Day 09 for/while
系列文
C#世界初探險30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言