
今回は 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 = 7;
if (age == 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 < B | Aが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 = 5;
if (age == 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 型は、この true と false が if条件になるのか?

その通りッピ!
bool型 変数には true と false しか設定できないッピが、
それを利用して【スイッチ】の 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 の条件を満たさない場合、等の条件を絞ることができる

上手くできたッピか?
これからも色んなゲーム作りやプログラムの解説をしていくッピ!
次回も楽しみにしているッピよ~~!