はじめてのC#入門
第12回 分かれ道を作る

今日はプログラミングの基本、「分岐」だよ

こんにちは!

今日はクリスマスイブなので、カップラーメンにいつもより1個多く玉子を入れたあらたまです!

どちらかと言うと玉子にラーメン入れた的なものになりましためりくり。

さて、今日は「はじめてのC#入門」の第12回です。

今回は「分岐」のつくりかたです。

おさらい

前回 では、ユーザーが入力した文字列を受け取る方法をお話ししましたね。

Console.WriteLine("文字を入力してください。");
hensu = Console.ReadLine();

今回はその文字列の中身によって、処理の分かれ道を作ってみたいと思います!

分岐のつくりかた

では早速ですが、最初に今回の答えを見てしまいましょう。

入力された文字列によって表示内容がわかれるプログラムです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Jp.Artm.Blog.Csarp.Introduction
{
    class Program
    {
        static void Main(string[] args) {

            String hensu;

            Console.WriteLine("文字を入力してください。");
            hensu = Console.ReadLine();

            if (hensu == "りんご") {
                Console.WriteLine("りんごは好物です!");
            } else {
                Console.WriteLine("りんご以外に価値はありません。。");
            }

            Console.ReadLine();
        }
    }
}

前回から変わったところ、それは

if (hensu == "りんご") {
    Console.WriteLine("りんごは好物です!");
} else {
    Console.WriteLine("りんご以外に価値はありません。。");
}

ですね。

== ←これ

まず最初に見てもらいたいのが hensu と "りんご"の間にある「==」です。

C#では、左と右が等しいということを イコールふたつで表します。

つまり「hensu == "りんご"」は、「変数hensuの中身と"りんご"が等しい」という意味になる、ということですね。

if - else 制御文

続いて気になるのは if と else ですね。

英単語としての意味は「if」は「もし~なら」、「else」は「そうでなければ」です。もう一度プログラムを見てみましょう。

if (hensu == "りんご") {
    Console.WriteLine("りんごは好物です!");
} else {
    Console.WriteLine("りんご以外に価値はありません。。");
}

ifの後ろの「()]の中に「もし~なら」の「~」の部分を書きます。

この「()」の中に書いたものを「分岐の条件」と呼びますが、 この分岐の条件が満たされる場合はその直後のブロック({}で囲まれた範囲でしたね)が実行されます。

一方、分岐の条件が満たされない場合は、「else」のうしろのブロックの中を実行します。

実行されるのは{}の間(ブロック)なので、もちろんその中に複数行書くことだってできますよ。

if (hensu == "りんご") {
    Console.WriteLine("りんごは好物です!");
    Console.WriteLine("マジ好物!");
    Console.WriteLine("むしろ中毒。");
} else {
    Console.WriteLine("りんご以外に価値はありません。。");
}

プログラムを実行してみる

それでは、実際に動かして動作を確認してみましょう!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Jp.Artm.Blog.Csarp.Introduction
{
    class Program
    {
        static void Main(string[] args) {

            String hensu;

            Console.WriteLine("文字を入力してください。");
            hensu = Console.ReadLine();

            if (hensu == "りんご") {
                Console.WriteLine("りんごは好物です!");
            } else {
                Console.WriteLine("りんご以外に価値はありません。。");
            }

            Console.ReadLine();
        }
    }
}

起動すると入力待ち状態になります。

"りんご"と入力して、エンターキーを押すと。。 「りんごは好物です」と表示されました!

エンターキーを押してプログラムを終了してから、もう一度起動しなおします。

そして今度は"みかん"と入力して、エンターキーを押すと。。 「りんご以外に価値はありません。。」と表示されました!

今回はここまでです!

次回はたくさんの分かれ道のつくりかたについてお話したいと思います!

次回へ続く