【6日でできるJava入門】制御文② 条件文とboolean型

 ここでは、Javaプログラミングにおける「条件文」と「boolean型」について解説します。プログラムにおいて、値や変数を比較して処理を分岐させることは非常に重要です。条件文とboolean型を理解し使いこなすことで、より柔軟で意図通りに動くプログラムを作ることができます。ここでは、条件文の書き方・比較演算子・boolean型・論理演算子など、プログラムの分岐の基礎を体系的に学びます。

1.条件文と比較演算子

1.1. 比較演算子の種類

演算子意味使用例
==左右が等しいx == y
!=左右が等しくないx != y
>左が右より大きいx > y
<左が右より小さいx < y
>=左が右以上x >= y
<=左が右以下x <= y

注意:「=」は代入演算子、「==」が等価比較なので混同に注意!

1.2. 条件式の「真」と「偽」

  • 比較演算子で比較すると、**真(true)または偽(false)**の結果が得られます。
  • Javaではこの値を扱うために「boolean型」が用意されています。

サンプル

int score = 85;
boolean isPass = score >= 70;
System.out.println("合格判定: " + isPass);

実行結果

合格判定: true

2.boolean型と論理演算

2.1. boolean型の特徴と宣言

型名用途例
booleantrue, false(真・偽)条件分岐や判定処理など

宣言例

boolean flag;
flag = true;
boolean isEmpty = false;

2.2. 比較演算の結果をboolean変数に代入

int x = 10;
boolean greaterThanFive = x > 5;   // true
boolean lessThanZero = x < 0;      // false
System.out.println(greaterThanFive); // true
System.out.println(lessThanZero);    // false

2.3. 論理演算子(複数条件の組み合わせ)

論理演算子説明使い方例
&&論理積(AND)x > 0 && x < 10
||論理和(OR)x < 0 || x >= 10
xyx && yx || y
truetruetruetrue
truefalsefalsetrue
falsetruefalsetrue
falsefalsefalsefalse

例:複数条件の判定

int age = 25;
boolean isYouth = age >= 20 && age < 30;
System.out.println("20代ですか?: " + isYouth);

実行結果

20代ですか?: true

3.条件文とboolean型の応用

3.1. 無限ループ(条件が常にtrueの場合)

while (true) {
    // ずっと繰り返す処理
    break; // 実際は脱出条件が必要
}

3.2. 条件がfalseの場合(1回も実行されない)

while (false) {
    // この中身は実行されません
}

3.3. 優先順位に注意

演算子には優先順位があり、複雑な式では括弧()を使って意図した順で評価しましょう。

int a = 3, b = 4, c = 5;
boolean result = a + b > c && c < 10;
System.out.println(result); // true

4.演習プログラム

例1:年齢判定プログラム

ファイル名: lesson09_1.java

public class lesson09_1 {
    public static void main(String[] args) {
        int age = 20;
        boolean isAdult = age >= 18;
        System.out.println("年齢:" + age);
        System.out.println("成人ですか?:" + isAdult);
    }
}

実行結果

年齢:20
成人ですか?:true

例2:点数による合格判定プログラム

ファイル名: lesson09_2.java

public class lesson09_2 {
    public static void main(String[] args) {
        int score = 68;
        boolean isPassed = score >= 60;
        System.out.println("点数:" + score);
        System.out.println("合格ですか?:" + isPassed);
    }
}

実行結果

点数:68
合格ですか?:true

例3:数値の範囲チェック(AND・ORの活用)

ファイル名: lesson09_3.java

public class lesson09_3 {
    public static void main(String[] args) {
        int n = 7;
        boolean inRange = n > 0 && n < 10;
        boolean outOfRange = n < 0 || n > 10;
        System.out.println("値:" + n);
        System.out.println("0より大きく10未満ですか?:" + inRange);
        System.out.println("0未満または10より大きいですか?:" + outOfRange);
    }
}

実行結果

値:7
0より大きく10未満ですか?:true
0未満または10より大きいですか?:false

例4:偶数判定プログラム

ファイル名: lesson09_4.java

public class lesson09_4 {
    public static void main(String[] args) {
        int number = 15;
        boolean isEven = number % 2 == 0;
        System.out.println("値:" + number);
        System.out.println("偶数ですか?:" + isEven);
    }
}

実行結果

値:15
偶数ですか?:false

例5:論理演算の応用(AND・OR)

public class lesson09_5 {
    public static void main(String[] args) {
        boolean sunny = true;
        boolean holiday = false;
        boolean canPicnic = sunny && holiday;
        boolean stayHome = !sunny || !holiday;
        System.out.println("ピクニックに行ける?:" + canPicnic);
        System.out.println("家で過ごす?:" + stayHome);
    }
}

実行結果

ピクニックに行ける?:false
家で過ごす?:true

まとめ

 このように、条件文とboolean型は分岐や判定、繰り返し処理の要となる重要な基礎知識です。比較演算子・論理演算子・boolean型の活用を身につけて、より柔軟で正確なプログラムを書けるようになりましょう。