複数の条件の組み合わせ

次に条件文に複数の条件を指定する方法を見てみましょう。複数の条件を組み合わせて一つの条件として扱います。この節では次の内容を学習します。

■ 論理積

論理積は、指定した複数の条件すべて満たされる場合にtrueと判断されます。

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

論理積

例:
 if(1 <= num && num <= 10){
 }

○ ファイル

次のようにファイルを作成してください。

ファイル名 AndTest.java

サンプルダウンロード

○ プログラム

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

AndTest.java

  1. import java.io.*;
  2. class AndTest{
  3.     public static void main(String[] args) throws Exception{
  4.         //変数の宣言をする
  5.         int age;
  6.         //データを入力する準備をする
  7.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  8.         //年齢を入力する
  9.         System.out.print("年齢を入力してください:");
  10.         age = Integer.parseInt(br.readLine());
  11.         //小学生かどうか判定する
  12.         if(age >= 6 && age <= 12){
  13.             System.out.println("小学生です。");
  14.         }else{
  15.             System.out.println("小学生ではありません。");
  16.         }
  17.     }
  18. }

○ コンパイルと実行

C:¥work>javac AndTest.java
C:¥work>java AndTest
年齢を入力してください:8
小学生です。

C:¥work>java AndTest
年齢を入力してください:13
小学生ではありません。

C:¥work>

○ フローチャート

論理積フローチャート

○ 解説

13行目では、年齢を入力しています。キーボードから入力したデータは文字列ですが、整数値として扱いたい場合は、「Integer.parseInt()」を実行します。()の中に整数値に変換したい数字を指定します。

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

■ 論理和

論理和は、指定した複数の条件のうち、一つでも満たされる場合にtrueと判断されます。

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

論理和

例:
 if(num == 1 || num == 10){
 }

○ ファイル

次のようにファイルを作成してください。

ファイル名 OrTest.java

サンプルダウンロード

○ プログラム

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

OrTest.java

  1. import java.io.*;
  2. class OrTest{
  3.     public static void main(String[] args) throws Exception{
  4.         //変数の宣言をする
  5.         String vehicle;
  6.         //データを入力する準備をする
  7.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  8.         //乗り物を入力する
  9.         System.out.print("乗り物を入力してください:");
  10.         vehicle = br.readLine();
  11.         //車かオートバイかを判定する
  12.         if(vehicle.equals("車") || vehicle.equals("オートバイ")){
  13.             System.out.println("公共交通機関をご利用ください。");
  14.         }
  15.     }
  16. }

○ コンパイルと実行

C:¥work>javac OrTest.java
C:¥work>java OrTest
乗り物を入力してください:
公共交通機関をご利用ください。

C:¥work>java OrTest
乗り物を入力してください:オートバイ
公共交通機関をご利用ください。

C:¥work>java OrTest
乗り物を入力してください:徒歩

C:¥work>

○ フローチャート

論理和フローチャート

○ 解説

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

■ 論理否定

論理否定は、条件判定の結果がtrueの時はfalseと、falseの時はtrueと判断されます。

論理否定の書式
!条件式

論理否定

例:
 if(!(num == 1)){
 }

○ ファイル

次のようにファイルを作成してください。

ファイル名 NotTest.java

サンプルダウンロード

○ プログラム

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

NotTest.java

  1. import java.io.*;
  2. class NotTest{
  3.     public static void main(String[] args) throws Exception{
  4.         //変数の宣言をする
  5.         String weather;
  6.         //データを入力する準備をする
  7.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  8.         //天気を入力する
  9.         System.out.print("晴れ・曇り・雨のいずれかを入力してください:");
  10.         weather = br.readLine();
  11.         //雨でないかどうか判定する
  12.         if(!(weather.equals("雨"))){
  13.             System.out.println("傘は必要ありません。");
  14.         }else{
  15.             System.out.println("傘が必要です。");
  16.         }
  17.     }
  18. }

○ コンパイルと実行

C:¥work>javac NotTest.java
C:¥work>java NotTest
晴れ・曇り・雨のいずれかを入力してください:晴れ
傘は必要ありません。

C:¥work>java NotTest
晴れ・曇り・雨のいずれかを入力してください:曇り
傘は必要ありません。

C:¥work>java NotTest
晴れ・曇り・雨のいずれかを入力してください:
傘が必要です。

C:¥work>

○ フローチャート

論理否定フローチャート

○ 解説

16行目では、入力した天気が「雨」でないかどうかを判定しています。条件として「雨である」を否定しているので、「雨ではない」場合、17行目が実行されてメッセージが表示されます。「雨」の場合は19行目が実行されてメッセージが表示されます。

前へ   次へ