目次
概要
ここでは、else if 文について学習します。else if 文の基本的な構文は以下の通りです。
if( 条件式 A )
{
// 処理 A
}
else if( 条件式 B )
{
// 処理 B
}
else
{
// 処理 C
}
処理の流れは下図のようになります。条件式 A を満たせば、処理 A が実行されます。満たさない場合は、条件式 B を満たすかどうか判別し、処理 B か 処理 C のどちらかが実行されます。
手順
STEP1:C# プログラム(ファイル)を追加する
こちらの記事を参考にして、コンソールアプリ(プロジェクト名:Lesson4)に C# プログラム(ファイル名:Lesson4_3)を追加します。
STEP2:プログラムを記述する
Lesson4_2.cs の switch 文を if 文に書き換えてみます。
namespace Lesson4
{
public static class Lesson4_3
{
public static void Text1()
{
int saikoro = 3;
if (saikoro == 1)
{
Console.WriteLine("サイコロの目は 1 です。");
}
else if (saikoro == 2)
{
Console.WriteLine("サイコロの目は 2 です。");
}
else if (saikoro == 3)
{
Console.WriteLine("サイコロの目は 3 です。");
}
else {
Console.WriteLine("サイコロの目は 1, 2, 3 以外です。");
}
}
}
}
STEP3:動作を確認する
else if 文の動作を確認できたでしょうか。処理を振り分けが値のとき(例:上記のサイコロのプログラム)は、 switch 文のほうが簡単そうですね。振り分けの条件が式の場合は、else if 文が活躍しそうです。次の課題で確かめてみましょう。
課題
課題① – 1:else if 文の使いどころ
if 文の処理の振り分けには条件式が使えます。そのため、switch 文では表現できない多分岐が、else if 文で表現可能な場面があります。次のプログラムは if 文だからこそ書ける多分岐のプログラムです(※)。
/// <summary>
/// 課題(1). else if 文の使いどころ
/// </summary>
public static void Kadai1()
{
int saikoro = 3;
if(saikoro < 3)
{
Console.WriteLine("サイコロの目は 3 よりも小さいです。");
}
if (saikoro == 3)
{
Console.WriteLine("サイコロの目は 3 です。");
}
else
{
Console.WriteLine("サイコロの目は 3 よりも大きいです。");
}
}
(※)C# 7.0 から、switch 文でも条件式が表現できるようになりました。case の後 when を記述します。
次に進む
次は、論理演算子について学びます。