条件分岐、if文を理解しよう!

[C#] 条件分岐、if文を理解しよう!

※ 当サイトは広告を含みます。

ここではC#のif文について理解しましょう。これはプログラムの基本構造で説明した選択にあたる処理です。
なお、プログラムの基本構造が分からない人は先に次の記事を読んでください。

if statement (ステートメント)

いわゆる条件分岐でif文と呼びます。つまりは何らかの条件に従って、いずれかの処理を実行する構文です。

パターン1: if

いくつかパターンがありますが、最も簡単な記述はこれです。
これは条件を満たすとブロック内に処理が進み、満たさない場合はブロックを無視して先に進みます。

パターン1: if

条件式にはbool値を記述します。これは論理演算や比較演算など、結果が真偽値になるなら何でもOKです。
理解するには例を見るのが早いでしょう。サンプルコードを用意してるので実行して確認してください。


namespace Sample
{
  internal class Program
  {
    static void Main(string[] args)
    {
      int n = 10;
      if (n > 0)
      {
        Console.WriteLine("true");
      }
    }
  }
}
管理人

nの値を0以下にすると条件式を満たさなくなりtrueが表示されなくなります。

パターン2: if ~ else

次のパターンはこちら。これは条件式を満たした場合と満たさなかった場合の処理を同時に記述します。

パターン2: if ~ else

namespace Sample
{
  internal class Program
  {
    static void Main(string[] args)
    {
      int n = 10;
      if (n > 0)
      {
        Console.WriteLine("true");
      }
      else
      {
        Console.WriteLine("false");
      }
    }
  }
}
管理人

どちらか片方しか処理されません。

りさ

nの値を変更して動作を確認してみよう!

パターン3: if ~ else if

次のパターンはこちら。これは複数の条件式を同時に記述する構文です。
記述できる数に制限はありません。好きなだけ書いてください、

パターン3: if ~ else if

namespace Sample
{
  internal class Program
  {
    static void Main(string[] args)
    {
      int n = 10;
      if (n > 5)
      {
        Console.WriteLine("true1");
      }
      else if (n > 3)
      {
        Console.WriteLine("true2");
      }
      else if (n > 0)
      {
        Console.WriteLine("true3");
      }
    }
  }
}
管理人

この構文のポイントは先に満たした条件式のみ処理されます。具体例として次のパターンを見てみましょう。


namespace Sample
{
  internal class Program
  {
    static void Main(string[] args)
    {
      int n = 10;
      if (n > 0)
      {
        Console.WriteLine("true1");
      }
      else if (n > 3)
      {
        Console.WriteLine("true2");
      }
      else if (n > 5)
      {
        Console.WriteLine("true3");
      }
    }
  }
}
管理人

これはnの数値を変えても2番目と3番目の条件式を満たすことはありません。
理由は先に1番目の条件式を満たすため、2番目と3番目のみを満たす数値が存在しないからです。

りさ

プログラムの構文としては正しいからエラーにならないよ。条件式の順番には注意しようね。

パターン4: if ~ else if ~ else

最後のパターンです。else ifを記述した場合でも最後にelseを記述することができます。
この場合は途中のelse ifは好きなだけ書けますが、elseは最後に1つのみです。

パターン4: if ~ else if ~ else

namespace Sample
{
  internal class Program
  {
    static void Main(string[] args)
    {
      int n = 10;
      if (n > 5)
      {
        Console.WriteLine("true1");
      }
      else if (n > 3)
      {
        Console.WriteLine("true2");
      }
      else if (n > 0)
      {
        Console.WriteLine("true3");
      }
      else
      {
        Console.WriteLine("false");
      }
    }
  }
}

あとがき

プログラムは分岐の連続と言われるほど選択を多用します。その中でもif文は最も基礎となるので必須です。

◆ C#に関する学習コンテンツ

この記事は参考になりましたか?

関連記事

コメント

この記事へのコメントはありません。