Java | 「論理値リテラル」(true / false)

Java Java
スポンサーリンク

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 が曖昧になるか教えてくれたら、ぴったりの例で解説する。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました