【Java】boolean の評価ルールをやさしく解説|true / false の仕組みと落とし穴を実務目線で整理

Java入門・実践
スポンサーリンク
スポンサーリンク

はじめに

Java の条件分岐を書くときに欠かせないのが
boolean(真偽値)

  • if (true) は実行される
  • if (false) は実行されない

というのは直感的ですが、
実は boolean の評価にはいくつかのルールがあり、
初心者がつまずきやすいポイントでもあります。

この記事では、やさしく・実務寄りに
boolean の評価ルールを整理していきます。


まずはコードを確認

Java
boolean a = true;
boolean b = false;

System.out.println(a && b); // false
System.out.println(a || b); // true

int x = 10;
System.out.println(x > 5);  // true
System.out.println(x == 10); // true

System.out.println(true && (x / 0 == 1)); // 実行されない(短絡評価)

コードのしくみを解説

boolean は true / false の2つだけ

Java の boolean はとてもシンプルで、
true か false のどちらか しかありません。

Java
boolean flag = true;
flag = false;

C言語のように
「0 が false、0 以外が true」
というルールはありません。

比較演算子は boolean を返す

Java
int x = 10;
System.out.println(x > 5);  // true
System.out.println(x == 10); // true

比較演算子(>, <, ==, != など)は
必ず boolean を返します。

論理演算子(&&、||)は「短絡評価」される

Java の boolean 評価で最も重要なのがこれ。

AND(&&)

Java
true && falsefalse
false && (右側は評価されない)

左側が false の時点で結果は false なので、
右側は評価されません。

OR(||)

Java
true || (右側は評価されない)
false || truetrue

左側が true の時点で結果は true なので、
右側は評価されません。

これを 短絡評価(ショートサーキット) と呼びます。

短絡評価は「例外を防ぐ」ためにも重要

Java
System.out.println(true && (10 / 0 == 1)); // OK(右側は評価されない)
System.out.println(false && (10 / 0 == 1)); // OK(右側は評価されない)

右側の (10 / 0) は本来例外になりますが、
短絡評価のおかげで実行されません。

実務ではこの性質を利用して
「安全に null チェックする」
という書き方がよく使われます。


あわせて知っておきたいポイント

boolean は数値と混ざらない

Java
int x = 1;
// if (x) { } // コンパイルエラー

C言語とは違い、
boolean と数値は別物 です。

== と = を間違えるとバグになる

Java
if (flag = true) { } // 代入になってしまう

Java では flag = true は代入式で、
式全体の評価結果は true になります。

実務でもよくあるバグです。

!(否定)はシンプルだけど強力

Java
boolean isEmpty = false;
System.out.println(!isEmpty); // true

条件を反転させるときに便利です。


使うときに気をつけたいこと

  • boolean は true / false の2つだけ
  • 比較演算子は必ず boolean を返す
  • && と || は短絡評価される
  • 短絡評価を利用して安全に null チェックできる
  • = と == の間違いに注意
  • boolean と数値は混ざらない

実務では「短絡評価を知らずに例外が出る」 というケースが意外と多いです。


まとめ

boolean の評価ルール

  • true / false の2値
  • 比較演算子は boolean を返す
  • && と || は短絡評価される
  • ! で反転できる

注意点

  • = と == を間違えない
  • 数値と boolean は混ざらない
  • 短絡評価は安全な条件式を書くために重要

decopon
decopon

boolean の評価ルールは、 「短絡評価」を理解すると一気にスッキリします。Java Bronze の試験でも、実務の条件分岐でも、 ここを押さえておくと安心してコードが書けます。
あなたの学びが、次のステップにつながりますように。

moco
moco

true と false の世界にも、
“順番”と“評価しないことがある”っていうルールがあるんだね。
ちょっとした工夫で安全に書けるんだって。

コメント

タイトルとURLをコピーしました