C#入門講座|プログラムの分かれ道ついて学ぼう

C#
うさタブ
うさタブ

今回は if文について勉強するッピ!

ユウキ
ユウキ

if文~??

アイカ
アイカ

まだ習ったことないわ!

うさタブ
うさタブ

if文は、
プログラムの分かれ道のことッピ!

うさタブ
うさタブ

今日はこの if文 を一緒に勉強して行くッピよ~

この記事で学べること
  • if 文について
  • if 文の使い方 / 条件の付け方
  • else 文の使い方 / 条件外の命令文
  • else if 文の使い方 / 複数の条件の作り方
スポンサーリンク
スポンサーリンク

プログラムの分かれ道if文について学ぼう

必要なもの

うさタブ
うさタブ
  • Visual Studio Code
  • NET Core

が必要ッピ!

うさタブ
うさタブ

Visual Studio Code NET Core を導入してない人は、

↓ の記事を参考に必要なものをインストールするといいッピ!

if文を使ってみよう

うさタブ
うさタブ

さっそくif文を使って、プログラムの分かれ道をつくってみるっピ!

うさタブ
うさタブ

C# ファイルに

using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 7;
                if (age == 7 ) {
                Console.WriteLine("ユウキは7才です。小学生です。");
                }
        }
    }
}

と入力してターミナルで実行してみるッピよ~

ターミナル→ C:\…\今回の学習フォルダ > の後ろに

dotnet run

と入力するッピ!

アイカ
アイカ

ユウキくんが7才って出たわ!

ユウキ
ユウキ

おお!? なんだこれ~!?

不等号を覚えよう

== で条件が一緒のときにプログラムが動く

うさタブ
うさタブ

もし 変数 A が●●だったらプログラムをこう動かしてほしい! というとき

if (A == ●●) { 命令文 };

というふうにプログラムを書くッピ!

うさタブ
うさタブ

なので、さっきの命令文は

int age 数字の変数 age です= 7;なかみは 7 です
 
if もしも (age変数ageが == 7 7ならば) {
    
Console.データをWriteLine書き出してください(ユウキは7才です。小学生です。);
 
}終わります

という意味になるッピよ~

ユウキ
ユウキ

なるほどなー

ここまでのコード

入力したコード

using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 7;
                if (age == 7 ) {
                Console.WriteLine("ユウキは7才です。小学生です。");
                }
        }
    }
}

出力結果 >

ユウキは7才です。小学生です。

うさタブ
うさタブ

ちなみに

int age = 5;

と数字を変えると、プログラムは動かないッピ!

アイカ
アイカ

こういう仕組みになってるのね

ユウキ
ユウキ

勉強になったぜ!

< 設定した値より数字小さいときに動かすプログラム

うさタブ
うさタブ

もし 変数 A が●●より小さければこう動いてほしい! というとき

if (A < ●●) { 命令文 };

というふうにプログラムを書くッピ!

うさタブ
うさタブ
using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 7;
                if (age < 20 ) {
                Console.WriteLine("ユウキは未成年です。");
                }
        }
    }
}

と入力→実行するッピよ~

ここまでのコード

入力したコード

int age = 7;
    if (age < 20 ) {
        Console.WriteLine("ユウキは未成年です。");
       }

出力結果 >

ユウキは未成年です。

>  設定した値より数字大きいときに動かすプログラム

うさタブ
うさタブ

もし 変数 A が●●より大きければこう動いてほしい! というとき

if (A > ●●) { 命令文 };

というふうにプログラムを書くッピ!

うさタブ
うさタブ
using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 23;
                if (age > 19 ) {
                Console.WriteLine("ユウキは成人しています。");
                }
        }
    }
}

と入力→実行してみるッピよ~

ここまでのコード

入力したコード

using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 23;
                if (age > 19 ) {
                Console.WriteLine("ユウキは成人しています。");
                }
        }
    }
}

出力結果 >

ユウキは成人しています。

不等号のはやみ表

ユウキ
ユウキ

なあ、うさタブ

大きい小さいはわかったけど、以上とか以下とか

設定した数字を含む場合はどうするんだ?

アイカ
アイカ

そうね・・・

あと、この記号があとどれくらいあるか知りたいわ

うさタブ
うさタブ

以上以下の不等号は

  のうしろに 【 をつける

ことで設定できるッピ!

うさタブ
うさタブ

不等号の一覧こんな感じッピよ~

不等号意味
A == Bお互いが同じ条件のときにプログラムを動作
A != Bお互いが条件と違うときにプログラムを動作
A < BAがBより小さいときにプログラムを動作
A > B AがBより大きいときにプログラムを動作
A <= B AがB 以下のときにプログラムを動作
A >= B AがB 以上のときにプログラムを動作
アイカ
アイカ

こんなふうになってるのね!

ユウキ
ユウキ

なんとなくわかってきたぜ!

!= で条件を満たさないときプログラムを動かす

うさタブ
うさタブ

なかには

条件を満たさない場合に動かすプログラムも設定できるッピよ~

うさタブ
うさタブ

if (A != ●●) { 命令文 };

というふうにプログラムを書くッピ!

うさタブ
うさタブ
using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 20;
                if (age != 20 ) {
                Console.WriteLine("ユウキは20才じゃありません");
                }
        }
    }
}
うさタブ
うさタブ

ちなみに20才に設定するとプログラムが動かないッピ!

ユウキ
ユウキ

おお、さっきと逆になってるのか!

アイカ
アイカ

こんなこともできるのねっ

ここまでのコード

入力したコード

int age = 23;
      if (age != 20 ) {
         Console.WriteLine("ユウキは20才じゃありません");
        }

出力結果 >

ユウキは20才じゃありません

else文とelse if文

うさタブ
うさタブ

この方法以外にも、else 文をつかうことで

条件を満たさない場合に動くプログラム を設定できるッピ!

うさタブ
うさタブ
using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 5;
                if (age == 7 ) {
                Console.WriteLine("ユウキは7才です。小学生です。");
                }
                else
                {
                    Console.WriteLine("ユウキは7才ではありません" + age + "才です。");
                }
        }
    }
}

と入力→実行してみるッピ!

うさタブ
うさタブ

次は

int age = 7;

と数字を7にしてみるッピ!

アイカ
アイカ

おお! 結果が変わった!

アイカ
アイカ

すごいわっ

else文 でも条件を満たさない場合のプログラムを設定できる

うさタブ
うさタブ

else文!= と同じように、

条件を満たさない場合のプログラムを設定できるッピ!

else { 命令文 }

if文とセットつくることができるッピ!

うさタブ
うさタブ

なのでさきほどのプログラムは

int age数字変数 age です = 5;なかみは 5 です
if もしも(age 変数ageの== 7 なかみが 7 ならば ) {
Console.データをWriteLine書き出してください(“ユウキは7才です。小学生です。”);
}
elseそれ以外は {
Console.次のデータをWriteLine書き出してください(“ユウキは7才ではありません” + age + “才です。”);
}

という意味になるッピよ~

ここまでのコード

入力したコード

int age = 5;
    if (age == 7 ) {
         Console.WriteLine("ユウキは7才です。小学生です。");
        }
    else {
        Console.WriteLine("ユウキは7才ではありません" + age + "才です。");
       }

出力結果 > age = 7

ユウキは7才です。小学生です。

出力結果 > age = 7ではない数字

ユウキは7才ではありません5才です。

さらに枝分かれした道をつくる else if

うさタブ
うさタブ

さらに

else if ( 条件式 ) { 命令文 }

で新しい道をつくることができるッピ!

うさタブ
うさタブ
using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 20;
                if (age == 7 ) {
                Console.WriteLine("ユウキは7才です。小学生です。");
                }
                else if (age == 20){
                Console.WriteLine("ユウキはちょうど20才です。");
                }
                else  {
                Console.WriteLine("ユウキは小学生ではありません。" + age + "才です。");
                }
        }
    }
}

と入力→実行してみるッピ!

ここまでのコード

入力したコード

int age = 20;
         if (age == 7 ) {
                Console.WriteLine("ユウキは7才です。小学生です。");
                }
           else if (age == 20){
                Console.WriteLine("ユウキはちょうど20才です。");
                }
           else  {
                Console.WriteLine("ユウキは小学生ではありません。" + age + "才です。");

出力結果 >

ユウキはちょうど20才です。
アイカ
アイカ

新しくプログラムが追加されたわ!

ユウキ
ユウキ

プログラミングってすっげーんだな!

うさタブ
うさタブ

if文は

if (条件式 A) { 命令文 }

else if (条件式 B) { 命令文 }

else { 命令文 }

でなりたっているッピ! 覚えておくッピよ~

1つのif文に複数の条件をつける

ユウキ
ユウキ

なあ うさタブ

この条件ってもっとしぼれないのか?

ユウキ
ユウキ

たとえば

6より大きくて、12より小さい場合のプログラムとかさ・・・

アイカ
アイカ

そうね 気になるわ

うさタブ
うさタブ

もちろんそれもできるッピよ!

&&

で条件をしぼりこむことができるッピ!

条件A と 条件B を満たす &&

うさタブ
うさタブ

●●より小さくて □□より大きい 場合に動くプログラムを設定するには

条件A && 条件B

で条件をしぼりこむことができるッピ!

うさタブ
うさタブ

ためしに

using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 7;
                if (age > 5 && age < 12 ) {
                Console.WriteLine("ユウキは" + age + "才です。小学生です。");
                }
                else if (age == 20){
                Console.WriteLine("ユウキはちょうど20才です。");
                }
                else  {
                Console.WriteLine("ユウキは小学生ではありません。" + age + "才です。");
                }
        }
    }
}

と入力→実行してみるッピ!

うさタブ
うさタブ

確認したら age の数値を変更してみるッピ!

ユウキ
ユウキ

すっげー!

みんな結果がかわってる!

アイカ
アイカ

6才より大きくて、12才より小さい

プログラムがかわるのね! すごいわ!

ここまでのコード

入力したコード

 int age = 7;
      if (age > 5 && age < 12 ) {
         Console.WriteLine("ユウキは" + age + "才です。小学生です。");
         }

出力結果 >

ユウキは7才です。小学生です。

条件A または 条件B を満たした場合 ||

うさタブ
うさタブ

条件をしぼるだけじゃないッピ!
条件 ●● または □□ どちらかを満たした場合に動くプログラムも書くことができるッピ!

うさタブ
うさタブ

●● または □□ を満たした 場合に動くプログラムを設定するには

条件A || 条件B

で条件をふやすことができるッピ!

うさタブ
うさタブ
using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 15;
                if (age > 5 && age < 12 ) {
                Console.WriteLine("ユウキは" + age + "才です。小学生です。");
                }
                else if (age == 15 || age == 18){
                Console.WriteLine("ユウキは" + age + "才です。受験生です。");
                }
                else if (age == 20){
                Console.WriteLine("ユウキはちょうど20才です。");
                }
                else  {
                Console.WriteLine("ユウキは小学生ではありません。" + age + "才です。");
                }
        }
    }
}

と入力→実行してみるッピよ~

うさタブ
うさタブ

次は変数 age 18 に変えてみるッピ!

ユウキ
ユウキ

すっげー! 2つとも結果が変わった!

アイカ
アイカ

こんなこともできるのね!

奥がふかいわ

ここまでのコード

入力したコード

int age = 15;
if (age > 5 && age < 12 ) {
       Console.WriteLine("ユウキは" + age + "才です。小学生です。");
       }
    else if (age == 15 || age == 18){
       Console.WriteLine("ユウキは" + age + "才です。受験生です。");
       }
    else if (age == 20){
       Console.WriteLine("ユウキはちょうど20才です。");
       }
    else {
       Console.WriteLine("ユウキは小学生ではありません。" + age + "才です。");
       }

出力結果 > age = 15 ;

ユウキは15才です。受験生です。

出力結果 > age = 18 ;

ユウキは18才です。受験生です。
全体のコード

入力したコード

using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 数字;
                if (age > 5 && age < 12 ) {
                Console.WriteLine("ユウキは" + age + "才です。小学生です。");
                }
                else if (age == 15 || age == 18){
                Console.WriteLine("ユウキは" + age + "才です。受験生です。");
                }
                else if (age == 20){
                Console.WriteLine("ユウキはちょうど20才です。");
                }
                else  {
                Console.WriteLine("ユウキは小学生ではありません。" + age + "才です。");
                }
        }
    }
}

出力結果 > int age = 7; の場合

ユウキは7才です。小学生です。

出力結果 > int age = 20; の場合

ユウキはちょうど20才です。

出力結果 > int age = 15; または 18 の場合

ユウキは15(18)才です。受験生です。

出力結果 > それ以外 の場合

ユウキは小学生ではありません。"ageに設定した数字" 才です。

ON / OFF でよく使われる if : bool 文

うさタブ
うさタブ

次はスイッチの オンオフイエスノーでよく使われる

bool型と使った if 文の紹介ッピ!

うさタブ
うさタブ
using System;

namespace 今回の学習フォルダ
{
    class Program
    {
        static void Main(string[] args)
        {
            bool a = false;
                if (a == true) {
                Console.WriteLine("aは" + a + "です。");
                }
        }
    }
}

と入力→実行してみるッピ!

うさタブ
うさタブ

次に

bool a = true;

bool a = false

に変更してみるッピ!

アイカ
アイカ

いちばん最初にやったやつと似てるわね!

ユウキ
ユウキ

bool 型は、この truefalseif条件になるのか?

うさタブ
うさタブ

その通りッピ!

bool型 変数には truefalse しか設定できないッピが、

それを利用して【スイッチ】の ON / OFF のように切り替えてプログラムを動かして行くッピ!

覚えておくと良いッピよ~

学習のまとめ

不等号

  • A == B でお互いが同じ条件のときにプログラムを動作できる
  • A != B でお互いが条件と違うときにプログラムを動作できる
  • A < Bで AがBより小さいときにプログラムを動作できる
  • A > Bで AがBより大きいときにプログラムを動作できる
  • A <= Bで AがB 以下のときにプログラムを動作できる
  • A >= Bで AがB 以上のときにプログラムを動作できる

分岐点

  • else文は、if文の条件に当てはまらなかったものに命令を追加することができる
  • else if で、さらに条件を追加できる
  • bool型 は true / false で条件を切り替える

条件のしぼりこみ

  • if ( 分岐条件 A || 分岐条件 B ) { 命令文 ;}
    A または B の条件を満たすときにプログラムを実行できる
  • if ( 分岐条件 A && 分岐条件 B) { 命令文 ;}
    A と B の条件を両方満たすときにプログラムを実行できる
  • if(分岐条件 A && 分岐条件 B != 分岐条件 C){ 命令文;}
    A と B の条件を満たしながらC の条件を満たさない場合、等の条件を絞ることができる
うさタブ
うさタブ

上手くできたッピか?

これからも色んなゲーム作りやプログラムの解説をしていくッピ!

次回も楽しみにしているッピよ~~!

スポンサーリンク

どうしてもわからない、そんなときは?

ユウキ
ユウキ

うさタブ!

オレ、もっと本格的にゲームが作りたいんだ

アイカ
アイカ

私もだわ!

もっとたくさん実用的なコードを

学ぶことってできないかしら?

うさタブ
うさタブ

おお、2人ともやる気ッピね!

ゲームの作り方を学ぶなら、コレとかどうッピか?


うさタブ
うさタブ
Udemy」テレビでも有名な動画教材
人気の機械学習からUnityゲーム講座まで選び放題ッピ!

うさタブ
うさタブ

2DアクションRPG脱出ゲーム

3Dゲーム制作講座まで

買い切り講座だからいつでも勉強し放題ッピよ~!

ユウキ
ユウキ

お!いいじゃん!

アイカ
アイカ

あと、どこか素敵な素材を売っているところはないかしら? 公式の素材販売だと、クレカ支払いしかなくて・・・

ユウキ
ユウキ

小学生じゃクレカで支払えないぜ~

うさタブ
うさタブ

ゲームの素材を買いたいなら、

DLsiteBoothとかどうッピか?

うさタブ
うさタブ

素敵なドット絵や音楽素材がいっぱい売ってるッピ!

うさタブ
うさタブ

しかもUnityアセットストアと違って

クレカ支払いじゃなく、コンビニ支払いができるのもポイントッピ!

ユウキ
ユウキ

すげーカッコいい素材がいっぱいある!

アイカ
アイカ

わたしもさっそくチェックしてみようかな♪

スポンサーリンク
C#プログラミング
学んで遊んでジャンケンポン!
タイトルとURLをコピーしました