if文

 プログラムの処理を条件により分岐させることができます。この分岐は、「もし、今日が平日ならば仕事に行く」というように、日常でも「もし、~であれば、~する」という場面が多くあります。それをプログラムで表現するために使用できる命令文として、if文があります。
if文の書式1
if(条件式)
{
 処理;
}

if文
if文

○ プロジェクト

 プロジェクトを作成して確認してみましょう。実行するとコンソールに結果が表示されます。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 IfTest1

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //変数の宣言
  4.  string str;
  5.  //データを入力
  6.  Console.Write("「平日」か「休日」を入力してください:");
  7.  str = Console.ReadLine();
  8.  //平日の場合、メッセージを表示
  9.  if(str == "平日")
  10.  {
  11.   Console.WriteLine("今日は仕事があります。");
  12.   Console.ReadLine();
  13.  }
  14. }

○ フローチャート

○ 実行結果

「平日」か「休日」を入力してください:平日
今日は仕事があります。
----------------------------------------
「平日」か「休日」を入力してください:休日
(終了)

○ 解説

 17行目の「Console.ReadLine()」はキーボードからのデータを受け付ける命令です。この命令を実行すると、コマンドプロンプト上で入力待ち状態になります。今回のプログラムはキーボードから入力されたデータを変数strに格納しています。

 20行目で入力したデータを比較しています。条件として変数strに格納されているデータが「平日」と等しければ、22行目の命令文で画面に表示されます。条件が満たされない場合は何も処理しません。

 次に、「もし、今日が平日ならば仕事に行く、その他の場合は、遊びに行く」というような、「もし、~であれば、~をし、その他の場合は、~する」という条件を見てみましょう。

if文の書式2
if(条件式)
{
 処理;
}
else
{
 処理2;
}

if文
if文

○ プロジェクト

 プロジェクトを作成して確認してみましょう。実行するとコンソールに結果が表示されます。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 IfTest2

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //変数の宣言
  4.  string str;
  5.  //データを入力
  6.  Console.Write("「平日」か「休日」を入力してください:");
  7.  str = Console.ReadLine();
  8.  //入力データによって処理を分岐
  9.  if(str == "平日")
  10.  {
  11.   Console.WriteLine("今日は仕事があります。");
  12.  }
  13.  else
  14.  {
  15.   Console.WriteLine("今日は遊びに行きましょう。");
  16.  }
  17.  Console.ReadLine();
  18. }

○ フローチャート

○ 実行結果

「平日」か「休日」を入力してください:平日
今日は仕事があります。
----------------------------------------
「平日」か「休日」を入力してください:休日
今日は遊びに行きましょう。

○ 解説

 21行目で入力したデータを比較しています。条件として変数strに格納されているデータが「平日」と等しければ、23行目の命令文で画面に表示されます。25行目でelse文が記述されているので、条件が満たされない場合は27行目の命令文でメッセージが表示されます。

 入力内容によって「今日は仕事があります。」か「今日は遊びに行きましょう。」が表示されます。今回のサンプルでは「平日」と入力されれば「今日は仕事があります。」と表示され、それ以外を入力すると「今日は遊びに行きましょう。」と表示されます。

 次に、「もし、今日が平日ならば仕事に行く、その他もし、休日ならば遊びに行く、その他の場合は、なにもしない」というような、「もし、~であれば、~をし、その他もし~であれば、~をし、その他の場合は、~する」という条件を見てみましょう。

if文の書式3
if(条件式)
{
 処理;
}
else if(条件式2)
{
 処理2;
}
else
{
 処理3;
}

if文
if文

○ プロジェクト

 プロジェクトを作成して確認してみましょう。実行するとコンソールに結果が表示されます。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 IfTest3

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //変数の宣言
  4.  string str;
  5.  //データを入力
  6.  Console.Write("「平日」か「休日」を入力してください:");
  7.  str = Console.ReadLine();
  8.  //入力データによって処理を分岐
  9.  if(str == "平日")
  10.  {
  11.   Console.WriteLine("今日は仕事があります。");
  12.  }
  13.  else if(str == "休日")
  14.  {
  15.   Console.WriteLine("今日は遊びに行きましょう。");
  16.  }
  17.  else
  18.  {
  19.   Console.WriteLine("今日は家でおとなしくしていましょう。");
  20.  }
  21.  Console.ReadLine();
  22. }

○ フローチャート

○ 実行結果

「平日」か「休日」を入力してください:平日
今日は仕事があります。
----------------------------------------
「平日」か「休日」を入力してください:休日
今日は遊びに行きましょう。
----------------------------------------
「平日」か「休日」を入力してください:その他
今日は家でおとなしくしていましょう。

○ 解説

 21行目で入力したデータを比較しています。条件として変数strに格納されているデータが「平日」と等しければ、23行目の命令文で画面に表示されます。25行目で「else if」文が記述されているので、さらに入力データを比較しています。条件として変数strに格納されているデータが「休日」と等しければ、27行目の命令文で画面に表示されます。29行目で「else」文が記述されているので、条件が満たされない場合は31行目の命令文でメッセージが表示されます。

 「else if」文は複数指定することができます。また、「else」文は省略することもできます。

 次に条件文に複数の条件を指定する方法を見てみましょう。複数の条件を組み合わせて一つの条件として扱います。その方法として「論理積」と「論理和」があります。そして「論理否定」も確認してみましょう。

■ 論理積

 論理積は複数の条件のいずれも満たされる場合に真と判断されます。

論理積の書式
条件式1 && 条件式2

○ プロジェクト

 プロジェクトを作成して確認してみましょう。実行するとコンソールに結果が表示されます。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 IfTest4

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //変数の宣言
  4.  int age;
  5.  //年齢を入力
  6.  Console.Write("年齢を入力してください:");
  7.  age = Int32.Parse(Console.ReadLine());
  8.  //小学生かどうか
  9.  if(age >= 6 && age <= 12)
  10.  {
  11.   Console.WriteLine("小学生です。");
  12.  }
  13.  else
  14.  {
  15.   Console.WriteLine("小学生ではありません。");
  16.  }
  17.  Console.ReadLine();
  18. }

○ フローチャート

○ 実行結果

年齢を入力してください:8
小学生です。
----------------------------------------
年齢を入力してください:13
小学生ではありません。

○ 解説

 21行目で入力した年齢が6歳以上かつ12歳以下かどうかを判断しています。その範囲内にあれば条件が「true」と判断されて23行目が実行されます。範囲外であれば27行目が実行されます。

■ 論理和

 論理和は複数の条件のいずれかが満たされる場合に真と判断されます。

論理和の書式
条件式1 || 条件式2

○ プロジェクト

 プロジェクトを作成して確認してみましょう。実行するとコンソールに結果が表示されます。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 IfTest5

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //変数の宣言
  4.  string vehicle;
  5.  //乗り物を入力
  6.  Console.Write("乗り物を入力してください:");
  7.  vehicle = Console.ReadLine();
  8.  //車かオートバイかを判断
  9.  if(vehicle == "車" || vehicle == "オートバイ")
  10.  {
  11.   Console.WriteLine("公共交通機関をご利用ください。");
  12.  }
  13.  Console.ReadLine();
  14. }

○ フローチャート

○ 実行結果

乗り物を入力してください:
公共交通機関をご利用ください。
----------------------------------------
乗り物を入力してください:オートバイ
公共交通機関をご利用ください。
----------------------------------------
乗り物を入力してください:徒歩
(何も表示されない)

○ 解説

 21行目で入力した乗り物が「車」か「オートバイ」であれば、23行目が実行されてメッセージが表示されます。それ以外の場合は何も処理されません。

■ 論理否定

 論理否定は真の時には偽と、偽の時には真と判断されます。

論理和の書式
! 条件式

○ プロジェクト

 プロジェクトを作成して確認してみましょう。実行するとコンソールに結果が表示されます。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 IfTest6

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //変数の宣言
  4.  string weather;
  5.  //天気を入力
  6.  Console.Write("晴れ・曇り・雨のいずれかを入力してください:");
  7.  weather = Console.ReadLine();
  8.  //雨でないかどうか
  9.  if(!(weather == "雨"))
  10.  {
  11.   Console.WriteLine("傘は必要ありません。");
  12.  }
  13.  else
  14.  {
  15.   Console.WriteLine("傘が必要です。");
  16.  }
  17.  Console.ReadLine();
  18. }

○ フローチャート

○ 実行結果

晴れ・曇り・雨のいずれかを入力してください:晴れ
傘は必要ありません。
----------------------------------------
晴れ・曇り・雨のいずれかを入力してください:曇り
傘は必要ありません。
----------------------------------------
晴れ・曇り・雨のいずれかを入力してください:
傘が必要です。

○ 解説

 21行目で入力した天気が「雨」でなければ、23行目が実行されてメッセージが表示されます。「雨」の場合は27行目が実行されてメッセージが表示されます。

前へ   次へ