C#プログラミング入門!初心者向け その9 条件分岐 ①ifステートメント

ビジュアルスタジオC#
Visualstudio
みつる君
みつる君

ここでは、C#の条件分岐について学習します。条件分岐とは、「どういう条件なら、どうする」といったコードを書くことです。

①ifステートメント

②switchステートメント

の2つについて学びます。

ifステートメント

みつる君
みつる君

ifステートメント(以下、if文)は、ifの後に条件式を書き、更に、その条件が満足されたときの処理を書いていきます。具体的に説明していきます。

if~

みつる君
みつる君

構文
if (条件式)
{
  // 条件式が真(満足)の場合ここのコードが実行されます。
}

マリさん
マリさん

条件式は、数値の場合、下記の演算子が使えます。

・x == y  xとyは等しい
・x != y  xとyは異なる
・x > y  xはyより大きい(超)
・x >= y  xはy以上か
・x < y  xはyより小さい(未満)
・x <= y  xはyと以下か

例えば、

int x>=5;

if (x >= 10)
{
  // 条件が満足されたのでここのコードが実行されます。

}

マリさん
マリさん

文字列の場合は

例えば

string str = “zzz”;

if (str == “zzz”)
{
  // 条件が満足されたのでここのコードが実行されます。

}

みつる君
みつる君

では、実際にコードを書いてみましょう。

みつる君
みつる君

下記のコードでは、変数「i=10」に対して、iが20未満なら条件が成り立ち、

Console.WriteLine(“iは、20未満です!”);

が、実行されます。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 10; //10にした場合
            if (i < 20)
            {
                Console.WriteLine("iは、20未満です!");
            }
        }
    }
}

みつる君
みつる君

実行結果は

iは、20未満です!

みつる君
みつる君

となります。

みつる君
みつる君

では変数「i=20」とした場合はどうなりますでしょうか。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 20; //20にした場合
            if (i < 20)
            {
                Console.WriteLine("iは、20未満です!");
            }
        }
    }
}

みつる君
みつる君

実行結果は

みつる君
みつる君

iが20以上に該当し、

(iが20未満の条件が成立しないため )

結果は表示されない状態になります。では、どうしたら、表示されるようになるでしょうか。

if〜else

みつる君
みつる君

構文
if (条件式)
{
  // 条件式が真(満足)の場合ここのコードが実行されます。
}

else

{

    // 条件式が偽 (満足しなかった) の場合ここのコードが実行されます。

}

マリさん
マリさん

ifだけでは、条件が満足していない場合、そのまま実行されないことがわかりました。

それを、回避したいときは、if~elseを使います。

みつる君
みつる君

下記のコードでは、前回同様、変数「i=10」に対して、iが20未満なら条件が成り立ち、

Console.WriteLine(“iは、20未満です!”);

が、実行されます。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 10; //10にした場合
            if (i < 20)
            {
                Console.WriteLine("iは、20未満です!");
            }
            else
            {
                Console.WriteLine("iは、20以上です!");
            }
        }
    }
}

みつる君
みつる君

実行結果は

iは、20未満です!

みつる君
みつる君

となります。

みつる君
みつる君

では変数「i=20」とした場合はどうなりますでしょうか。

ifだけの場合では、条件が成立せず表示されませんでしたが・・・

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 20; //20にした場合
            if (i < 20)
            {
                Console.WriteLine("iは、20未満です!");
            }
            else
            {
                Console.WriteLine("iは、20以上です!");
            }
        }
    }
}

みつる君
みつる君

実行結果は

iは、20以上です!

みつる君
みつる君

条件式(iが20未満)に該当しなかったため、elseにとび、

Console.WriteLine(“iは、20以上です!”);

が実行されました。

if~else if~else

みつる君
みつる君

更に、条件を分岐できます。

みつる君
みつる君

構文
if (条件式A)
{
  // 条件式Aが真(満足)の場合ここのコードが実行されます。
}

}else if(条件式B)

{

  // 条件式Aが偽(満足しなかった)場合で、条件式Bが真(満足)の場合ここのコードが実行されます。

{

else

{

    // 条件式がすべて偽 (満足しなかった) の場合ここのコードが実行されます。

}

マリさん
マリさん

else ifを使えば、どのような条件でも分岐できます。

みつる君
みつる君

下記のコードでは、前回同様、変数「i=10」に対して、iが20未満なら条件が成り立ち、

Console.WriteLine(“iは、10以上20未満です!”);

が、実行されます。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i =10;
            if (i < 10)
            {
                Console.WriteLine("iは、10未満です!");
            }
            else if (i < 20)
            {
                Console.WriteLine("iは、10以上20未満です!");
            }
            else
            {
                Console.WriteLine("iは、20以上です!");
            }
        }
    }
}

みつる君
みつる君

実行結果は

iは、10以上20未満です!

みつる君
みつる君

となります。

マリさん
マリさん

上記の例ではelse ifを2つ使っていますが、いくつでも使えます。あまりに分岐が多い場合は、switchステートメントを使いましょう。

タイトルとURLをコピーしました