C#入門⑥ if文 ── 条件によって動きを変える
C#入門⑥ if文 ── 条件によって動きを変える
前回は「キーボードから入力を受け取る」方法をやりました。
今回は、プログラミングの最初の山場。if文(イフぶん)です。これができると、プログラムが「考えて」動くようになります。
if文とは、「もし〜なら、これをする」という分かれ道です。
なぜ、これが必要なのか
第1回で「プログラムは上から順番に動く」と書きました。でも、いつも同じことをするだけでは、できることが限られます。
現実は、状況によってやることが変わります。
「もし雨なら、傘を持つ」
「もし18歳以上なら、入場できる」
「もし点数が60点以上なら、合格」
この「もし〜なら」を、プログラムで表現するのがif文です。料理でいうなら、「もし味が薄かったら、塩を足す」という判断ですね。
書き方を見てみる
年齢で判定する、シンプルな例です。
int age = 20;
if (age >= 18)
{
Console.WriteLine("入場できます");
}
実行すると「入場できます」と表示されます。
形を見てみましょう。
if (条件)
{
条件が true のときに、する処理
}
ifのあとの カッコ ( ) の中に、条件 を書く- 波カッコ { } の中に、条件が成り立ったときの処理 を書く
age >= 18 は、第4回でやった「くらべる演算子」です。「age は18以上か?」をくらべて、true か false が返ります。true なら、{ } の中が実行されます。
age は20なので、「20は18以上?」→ true。だから「入場できます」が表示されました。
「そうでなければ」を加える ── else
「条件に合わないとき」の処理も書けます。else(エルス)を使います。
int age = 15;
if (age >= 18)
{
Console.WriteLine("入場できます");
}
else
{
Console.WriteLine("入場できません");
}
age は15なので、「15は18以上?」→ false。
true ではないので、else の方、「入場できません」が表示されます。
if = もし〜なら / else = そうでなければ。この2つで、分かれ道が作れます。
入力と組み合わせてみる
前回の ReadLine と組み合わせると、グッと実用的になります。
Console.WriteLine("年齢を入力してください");
int age = int.Parse(Console.ReadLine());
if (age >= 18)
{
Console.WriteLine("入場できます");
}
else
{
Console.WriteLine("入場できません");
}
これで、入力された年齢によって、結果が変わるプログラムになりました。
20と入力すれば「入場できます」、15と入力すれば「入場できません」。同じプログラムでも、入力によって動きが変わる。これが「プログラムが考えて動く」ということです。
3つ以上に分けたいとき ── else if
「合格・あと一歩・不合格」のように、3つ以上に分けたいときは else if を使います。
int score = 75;
if (score >= 80)
{
Console.WriteLine("合格");
}
else if (score >= 60)
{
Console.WriteLine("あと一歩");
}
else
{
Console.WriteLine("不合格");
}
上から順にくらべていきます。
- 「80以上?」→ 75なのでfalse、次へ
- 「60以上?」→ 75なのでtrue、「あと一歩」を表示して終了
ポイントは、上から順にくらべて、最初に当てはまったところで終わりということ。だから、条件は「きびしい順(大きい順)」に並べるのがコツです。
つまずきポイント
初心者がよく間違えるのが、第4回でも触れた 「等しい」は ==(イコール2つ) です。
if (age == 18) // 「ageは18と等しい?」(正しい)
if (age = 18) // 「ageに18を入れる」になってしまう!エラー
if文の条件で「等しいか」をくらべたいときは、必ずイコールを2つ。
1つだと「箱に入れる」の意味になってしまいます。
まとめ
if文は「もし〜なら、これをする」という分かれ道。
if (条件) { }… もし条件が true なら、{ } を実行else { }… そうでなければ、こちらelse if (条件) { }… 3つ以上に分けるとき
そして、等しいかのくらべは ==(イコール2つ)。
次回は、もうひとつの分岐の書き方、switch文 です。選択肢がたくさんあるときに便利です。

