C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day4:条件分岐

C# C#
スポンサーリンク

Day4 前半のゴール

Day4 前半では、C# に「状況に応じて処理を変える力」を与える 条件分岐 を学びます。 条件分岐は、プログラムに“判断力”を持たせるための最重要テーマです。 ここで扱う構文は次の 4 つです。

if else else if switch

これらを理解すると、成績判定・年齢判定・電卓など、日常の判断をそのままコードに落とし込めるようになります。 初心者の方でも自然に理解できるよう、例題を交えながら丁寧に解説していきます。

if 文の基本を理解する

条件が true のときだけ処理を実行する構文です

if 文は、最も基本的な条件分岐です。 形はとてもシンプルで、次のようになります。

if (条件式)
{
    // 条件式が true のときに実行される処理
}
C#

条件式は必ず true / false(bool 型) になります。 Day3 で学んだ比較演算子(>=、== など)がそのまま使われます。

例として、点数が 70 以上なら「合格」と表示したい場合は次のようになります。

int score = 75;

if (score >= 70)
{
    Console.WriteLine("合格です");
}
C#

score >= 70 が true なので、if の中が実行されます。 もし score が 65 なら false になり、何も表示されません。

ここで重要なのは、 if 文は「条件が満たされたときだけ動くスイッチ」 というイメージを持つことです。

else で「それ以外」の場合を扱う

条件が false のときの処理を書く場所です

if だけでは「true のとき」しか書けません。 else を組み合わせることで「false のとき」の処理も書けます。

if (条件式)
{
    // true のとき
}
else
{
    // false のとき
}
C#

成績判定を合格・不合格の両方表示する形にすると次のようになります。

int score = 65;

if (score >= 70)
{
    Console.WriteLine("合格です");
}
else
{
    Console.WriteLine("不合格です");
}
C#

ここで深掘りしたいポイントは、 if と else は必ずどちらか一方だけが実行される ということです。

score が 65 の場合、if は false なので else の処理だけが実行されます。

else if で「複数の条件」を順番に判定する

成績判定のような「ランク分け」に向いている構文です

複数の条件を順番にチェックしたい場合は else if を使います。

if (条件式1)
{
    // 条件式1が true
}
else if (条件式2)
{
    // 条件式2が true
}
else
{
    // どれにも当てはまらない
}
C#

成績判定の例を見てみましょう。

90点以上 → A 80点以上 → B 70点以上 → C それ以外 → D

int score = 82;

if (score >= 90)
{
    Console.WriteLine("A");
}
else if (score >= 80)
{
    Console.WriteLine("B");
}
else if (score >= 70)
{
    Console.WriteLine("C");
}
else
{
    Console.WriteLine("D");
}
C#

ここで深掘りしたいポイントは、 条件は上から順番に評価される ということです。

score が 82 の場合、 最初の条件は false ですが、次の条件が true なので B が表示されます。

もし条件の順番を間違えると、正しい判定ができなくなります。 条件分岐は「順番がロジックを決める」ということを強く意識する必要があります。

switch 文で「値に応じて分岐する」書き方を学ぶ

特定の値ごとに処理を分けたいときに便利です

switch 文は、ある変数の値に応じて処理を分けたいときに使います。 if / else if でも書けますが、値の種類が多い場合は switch のほうが読みやすくなります。

switch (値)
{
    case 値1:
        // 値1 のとき
        break;
    case 値2:
        // 値2 のとき
        break;
    default:
        // どれにも当てはまらないとき
        break;
}
C#

電卓の例を見てみましょう。 演算子が ‘+’、’-‘、’*’、’/’ のいずれかであると仮定します。

char op = '+';

switch (op)
{
    case '+':
        Console.WriteLine("足し算をします");
        break;
    case '-':
        Console.WriteLine("引き算をします");
        break;
    case '*':
        Console.WriteLine("掛け算をします");
        break;
    case '/':
        Console.WriteLine("割り算をします");
        break;
    default:
        Console.WriteLine("不明な演算子です");
        break;
}
C#

ここで深掘りしたいポイントは二つあります。

break の役割

switch 文では、 break を書かないと次の case に処理が流れてしまう という特徴があります。 そのため、各 case の最後に break を書くのが基本です。

default の役割

default は「どの case にも当てはまらないとき」の処理を書く場所です。 予期しない値が来たときにエラーメッセージを出すなど、 安全なプログラムを書くために重要な役割を持っています。

Day4 前半のまとめ

Day4 前半で押さえておきたいポイントは次のとおりです。

if は「条件が true のときだけ処理を実行する」構文です。 else は「それ以外のとき」の処理を書く場所です。 else if は「複数の条件を順番に判定する」ための構文です。 switch は「特定の値ごとに処理を分ける」ための構文で、値の種類が多いときに便利です。

後半では、これらを使って 成績判定 年齢判定 電卓(四則演算) といった具体的なプログラムを作りながら、 条件分岐の感覚をさらに深めていきます。

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