
【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型の特徴と宣言
型名 | 値 | 用途例 |
---|---|---|
boolean | true, 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 |
x | y | x && y | x || y |
---|---|---|---|
true | true | true | true |
true | false | false | true |
false | true | false | true |
false | false | false | false |
例:複数条件の判定
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型の活用を身につけて、より柔軟で正確なプログラムを書けるようになりましょう。