複数の条件の組み合わせ
次に条件文に複数の条件を指定する方法を見てみましょう。複数の条件を組み合わせて一つの条件として扱います。この節では次の内容を学習します。
■ 論理積
論理積は、指定した複数の条件すべて満たされる場合にtrueと判断されます。
論理積の書式 |
---|
条件式1 && 条件式2 |
例:
if(1 <= num && num <= 10){
}
○ ファイル
次のようにファイルを作成してください。
ファイル名 | AndTest.java |
---|
○ プログラム
次のようにプログラムを入力してください。
AndTest.java
- import java.io.*;
- class AndTest{
- public static void main(String[] args) throws Exception{
- //変数の宣言をする
- int age;
- //データを入力する準備をする
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- //年齢を入力する
- System.out.print("年齢を入力してください:");
- age = Integer.parseInt(br.readLine());
- //小学生かどうか判定する
- if(age >= 6 && age <= 12){
- System.out.println("小学生です。");
- }else{
- System.out.println("小学生ではありません。");
- }
- }
- }
○ コンパイルと実行
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
- import java.io.*;
- class OrTest{
- public static void main(String[] args) throws Exception{
- //変数の宣言をする
- String vehicle;
- //データを入力する準備をする
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- //乗り物を入力する
- System.out.print("乗り物を入力してください:");
- vehicle = br.readLine();
- //車かオートバイかを判定する
- if(vehicle.equals("車") || vehicle.equals("オートバイ")){
- System.out.println("公共交通機関をご利用ください。");
- }
- }
- }
○ コンパイルと実行
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
- import java.io.*;
- class NotTest{
- public static void main(String[] args) throws Exception{
- //変数の宣言をする
- String weather;
- //データを入力する準備をする
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- //天気を入力する
- System.out.print("晴れ・曇り・雨のいずれかを入力してください:");
- weather = br.readLine();
- //雨でないかどうか判定する
- if(!(weather.equals("雨"))){
- System.out.println("傘は必要ありません。");
- }else{
- System.out.println("傘が必要です。");
- }
- }
- }
○ コンパイルと実行
C:¥work>javac NotTest.java
C:¥work>java NotTest
晴れ・曇り・雨のいずれかを入力してください:晴れ
傘は必要ありません。
C:¥work>java NotTest
晴れ・曇り・雨のいずれかを入力してください:曇り
傘は必要ありません。
C:¥work>java NotTest
晴れ・曇り・雨のいずれかを入力してください:雨
傘が必要です。
C:¥work>
○ フローチャート
○ 解説
16行目では、入力した天気が「雨」でないかどうかを判定しています。条件として「雨である」を否定しているので、「雨ではない」場合、17行目が実行されてメッセージが表示されます。「雨」の場合は19行目が実行されてメッセージが表示されます。