【Java】booleanとは?使い方とBooleanの違いを解説!

プログラムでは多くの場合、次のような2つの値のいずれか1つしか持てないデータ型があります。
⚫︎ はい・いいえ
⚫︎ オンオフ
⚫︎ 真/偽
のようにその1つしか持てないデータ型を判定するためにbooleanを利用します。

また、booleanは小文字のboolean型と先頭が大文字のBooleanクラスがあり、使用の仕方が異なりますので使いわけには注意が必要です。

今回は、booleanの使い方と
⚫︎ if文でbooleanを使用した場合
⚫︎ while文でbooleanを使用した場合
⚫︎ for文でbooleanを使用した場合
⚫︎ booleanとBooleanとの違い
について解説しています。

booleanとは

booleanとは「真偽値型」と呼ばれ、真(true)、偽(false)の2択を表すデータ型となります。
それぞれの意味は、
⚫︎ true =  真 → はい
⚫︎ false =  偽 → いいえ
と覚えておくとよいでしょう。

また、booleanは「null」を設定することは出来ませんので注意してください。

booleanの書き方

boolean構文は下記となります。

⚫︎ 真を定義する場合

⚫︎ 偽を定義する場合

booleanは主に、条件によって処理を分岐する際の判定として利用されますので、Javaプログラミングにおける使用頻度は非常に高いと言えます。

booleanは初期値の設定が必要

booleanでは初期値として「true」または「false」のいずれかを設定する必要があります。

出力結果

false

しかし、初期値にnullを設定した場合は

出力結果

Main.java:6: error: incompatible types: cannot be converted to boolean

booleanはnullをコンバートできないというエラーが発生します。

booleanを使ったサンプルコード

if文でbooleanを使用する場合

出力結果

boolAの値はfalse
resultAの値はtrue

boolAはfalseのためelse内の処理を実行され。resultAは”number(100) < 200"の比較のため、trueとなりif内の処理を実行されます。

while文でbooleanを使用する場合

出力結果

countの値は1です。
countの値は2です。
countの値は3です。
countの値は4です。
countの値は5です。
countの値は6です。
countの値は7です。
countの値は8です。

ループ1回目は変数countの値が1で、”1 == 8″″の比較のため、trueとなり、ループ内部を実行します。
また、ループ4回目は変数countの値が4で、”4 == 8″″の比較のため、trueとなり、ループ内部を実行します。
そして、ループ8回目は変数countの値が8で、”8 == 8″の比較のため、falseとなり、ループを終了します。

for文でbooleanを使用する場合

出力結果

カウントの値は0です。
カウントの値は1です。
カウントの値は2です。
カウントの値は3です。
カウントの値は4です。
カウントの値は5です。
カウントの値は6です。

for文はそもそも条件式がtrue、falseではない為、boolean型を使用するのは難しいです。
また、if文でfalseになったとしてもbreak句で処理を強制終了させないといけません。

booleanにnullを使用する場合

出力結果

Main.java:5: error: incompatible types: cannot be converted to boolean

booleanはnullを設定することができないため、エラーとなります。

booleanとBooleanの違い

Booleanとは、boolean型のラッパークラスのことで、boolean型を便利に使うためのメソッドを持ちます。
booleanはプリミティブ型であり、trueやfalseを返す基本的な型となります。

また、Booleanはboolean型のラッパークラスでboolean型をオブジェクトとして扱いたいときに使用します。
boolean型はtrueとfalseしか定義できないものに対してBooleanはメソッドも準備されており、true、false、nullを判定するときなどにすごく便利です。

イメージはBooleanクラスの中にbooleanの型がある状態となります。

その為、ただただ真偽の値のみを扱いたい場合はboolean型を使い、真偽の値を使って「nullチェックを行いたい」などの複雑な処理を行いたい場合はBooleanクラスを使えば良いでしょう。

名前 種類 説明
boolean true/falseを返す基本的な型。
Boolean クラス boolean型などが準備されているクラス。
boolean型を便利に扱うためのnullチェックやvalueOf()などのメソッドがある。

Booleanを使ったサンプルコード

if文でBooleanを使用する場合

出力結果

falseです。

Boolean型でも、「Boolean 変数 = false;」でbool型を定義できますが、Boolean型には指定された boolean値を表すvalueOf()メソッドがありますので今回はそのメソッドを使用しています。

Booleanにnullを使用する場合

出力結果

nullです。

boolean型に比べてBoolean型はnullを設定することができます。
しかし、Boolean型でnullを設定する場合は、nullチェックを行う必要がありますので注意してください。

今日のポイント

booleanは基本的な型でBooleanはクラス

⚫︎ boolean型はtrueかfalseのどちらかを扱う場合に使用する(nullは設定できない)

⚫︎ boolean型はif文やwhile文などの真偽によって処理が決まる文法には適している

⚫︎ Booleanはラッパークラスであり、Booleanを使えば便利なメソッドを使用できる

⚫︎ 複雑な処理を行いたい場合はBooelanクラスを使用し、ただただ真偽の変数を使用したい場合には、boolean型を使用すべき

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し