Javaの論理値(true/false)を初心者向けにやさしく解説
はじめの一歩は「わかった気がする」からで十分。true と false は、プログラムにとって「はい」「いいえ」を表す大切な言葉です。ここを掴むと、if 文やループがぐっと理解しやすくなります。
論理値ってなに?
- 基本の考え方:
true は「正しい/はい」、false は「間違い/いいえ」を表す値です。Java ではこの2つしかありません。 - 型の名前:
boolean 型と呼びます。boolean 型の変数には true か false しか入れられません。 - 文字列との違い:
"true"や"false"は「文字列」。boolean の true/false とは別物です。
例:boolean b = "true";はエラーになります。
どう使うの?
- 直接使う:
そのまま書いて条件に使います。
if (true) {
System.out.println("いつも実行されるよ");
}
if (false) {
System.out.println("これは絶対に実行されないよ");
}
Java- 比較の結果として使う:
比較演算子の結果は boolean(true/false)になります。
System.out.println(10 > 7); // true
System.out.println(5 == 4); // false
System.out.println(3 <= 3); // true
Java- 変数に入れる:
boolean isAdult = 20 >= 18; // true
boolean isEmpty = "" .isEmpty(); // true(文字列が空なら)
Javaよく使う場面
- if 文(条件分岐):
条件が true のときだけ中身を実行します。
int age = 16;
boolean isAdult = age >= 18;
if (isAdult) {
System.out.println("大人料金です");
} else {
System.out.println("子ども料金です"); // こちらが表示される
}
Java- while 文(繰り返し):
条件が true の間、ずっと繰り返します。
int count = 0;
while (count < 3) { // count < 3 が true の間だけ繰り返す
System.out.println("回数: " + count);
count++; // 0, 1, 2 と増える
}
Java- フラグ(スイッチのような使い方):
状態をわかりやすく管理できます。
boolean isLoggedIn = false;
// ログイン成功
isLoggedIn = true;
if (isLoggedIn) {
System.out.println("マイページを表示します");
}
Java論理演算(複数の条件を組み合わせる)
- AND(かつ):
&&
両方が true のときだけ true。
int age = 20;
boolean hasTicket = true;
boolean canEnter = (age >= 18) && hasTicket; // true && true → true
Java- OR(または):
||
どちらかが true なら true。
boolean isTeacher = false;
boolean isStudent = true;
boolean canUseLibrary = isTeacher || isStudent; // false || true → true
Java- NOT(否定):
!
true を false に、false を true に反転。
boolean isEmpty = false;
boolean hasSomething = !isEmpty; // !false → true
Java例題で練習しよう
例題1: チケットチェック
- お題: 年齢が18歳以上か、保護者同伴なら入場OK。
int age = 15;
boolean withParent = true;
boolean canEnter = (age >= 18) || withParent;
if (canEnter) {
System.out.println("入場できます"); // 表示される
} else {
System.out.println("入場できません");
}
Java例題2: セール適用
- お題: 会員で、かつセール中なら割引を適用。
boolean isMember = true;
boolean isSale = false;
boolean applyDiscount = isMember && isSale;
if (applyDiscount) {
System.out.println("割引を適用します");
} else {
System.out.println("通常価格です"); // 表示される
}
Java例題3: 入力チェック(空文字ならエラー)
String name = "";
boolean isValid = !name.isEmpty(); // 空なら false、空でなければ true
if (isValid) {
System.out.println("入力ありがとうございます");
} else {
System.out.println("名前を入力してください"); // 表示される
}
Java初心者がハマりやすいポイント
- “true” は文字列、true は論理値:
boolean b = "true";はダメ。boolean b = true;が正しい。 - 1/0 は使えない:
他言語では 1 が true、0 が false のこともあるけど、Java は 必ず true/false。 - 条件式の書き方に注意:
=は代入、==は比較。
例:if (x = 5)はエラー。if (x == 5)が正しい。 - メソッド名の慣習:
boolean を返すメソッドは is/has/can などで始まることが多い。
例:isEmpty(),hasNext(),canExecute()。
ちょっと背伸び:短く書くテクニック(三項演算子)
- 状況に応じて値を切り替える:
int age = 20;
String price = (age >= 18) ? "大人料金" : "子ども料金";
System.out.println(price); // 大人料金
Java- 考え方: 条件が true なら左、false なら右の値が選ばれる。
まとめ
- boolean 型は true/false のふたつだけ。
- 比較や論理演算の結果は boolean。
- if/while と組み合わせて「流れ」を作る。
- “true”/”false” は文字列で別物。1/0 は使わない。
次の一歩
- 練習課題:
- 課題1: 年齢と学生フラグから「学割適用」を判定して表示。
- 課題2: パスワード文字列が8文字以上、数字を含む場合だけ「有効」と表示。
- 課題3: 在庫数が0なら「在庫なし」、1以上なら「在庫あり」を表示。
必要なら、あなたの書いたコードを一緒に添削するよ。どこでつまずきやすかった?どの場面で true/false が曖昧になるか教えてくれたら、ぴったりの例で解説する。

