コンテンツへスキップ

【C# の基本】レッスン4:① if 文 / if else 文


概要

レッスン4では、条件分岐について学習します。まずは基本となる if 文について理解を深めましょう。

if 文の基本形は以下の通りです。

if( 条件式 )
{
    // 処理 A
}

if 文の処理の流れは下図のようになります。②で条件式を評価し、条件が成立した場合は「③-A」のルートに進みます。成立しなかった場合は「③-B」のルートに進みます。そして、ルート「③-A」に進んだ場合のみ、「処理 A」が実行されることになります。

lesson4-1-1

次に、「if else 文」についてみてみましょう。

if( 条件式 )
{
    // 処理 A
}
else
{
    // 処理 B
}

「処理 A」が実行される「③-A」のルートは先ほどと同じです。「else 文」を使うと、条件が成立しなかった場合のルート「③-B」の中で「処理 B」を実行することができます。

lesson4-1-2

「if 文」では、「処理 A を実行する」か「実行しない」という2パターンのルートをとります。「if else 文」では、「処理 A を実行する」か「処理 B を実行する」という2パターンをとります。どちらもよく使う構文です。しっかりとマスターしましょう。

STEP1:コンソールアプリを追加し、C# プログラム(ファイル)を追加する

こちらの記事を参考にして、コンソールアプリ(プロジェクト名:Lesson4)と C# プログラム(ファイル名:Lesson4_1)を追加します。

STEP2:プログラムを記述する

Lesson4_1.cs のプログラムを下記のように変更します。

namespace Lesson4
{
    public static class Lesson4_1
    {

        /// <summary>
        /// (1). if 文
        /// </summary>
        public static void Text1()
        {
            Console.WriteLine("(1). if 文");
            int x = 10;
            if(x % 2 == 0)
            {
                Console.WriteLine("{0} は、偶数です。", x);
            }
            if (x % 2 == 1)
            {
                Console.WriteLine("{0} は、奇数です。", x);
            }
        }

        /// <summary>
        /// (2). if else 文
        /// </summary>
        public static void Text2()
        {

            Console.WriteLine("(2). if else 文");
            int x = 10;
            if (x % 2 == 0)
            {
                Console.WriteLine("{0} は、偶数です。", x);
            }
            else
            {
                Console.WriteLine("{0} は、奇数です。", x);
            }
        }
    }
}

Program.cs のファイルの中身を下記に置き換えます。

namespace Lesson4
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Lesson4_1.Text1();
            Lesson4_1.Text2();
        }
    }
}

STEP3:動作を確認する

(1) と (2) では、同じ結果を出力しますが、(2) のほうがプログラムの実行が速く、コードも見やすいと思います。整数の場合、偶数か奇数かのどちらかしかないので、if else 文を使う方が適しているのです。状況に応じて if 文と、if else 文を使い分けれるようになりましょう。

次に進む

次は、switch 文を使った多分岐について学びます。