Contents
Javaのboolean型の使い方について
Javaのboolean型は真偽値を扱います。
真偽値とはtrueまたはfalseを指し、処理を分岐させたい場合などに利用します。
public static void main(String[] args) { boolean b1 = false; boolean b2 = true; System.out.println(b1); System.out.println(b2); } // 実行結果 false true
実行結果として、false、trueをそれぞれ出力します。
クラス変数としてセットする場合は初期値としてfalseを持つ
通常、boolean型を宣言する際は、trueまたはfalseを宣言しなければいけませんが、クラス変数の場合は宣言を省略することができます。
public class SAMPLE { static boolean b; public static void main(String[] args) { System.out.println(b); } } //実行結果 false
クラス変数の場合は初期値にfalseがセットされていますが、ローカル変数の場合は初期値はセットされないため、値をいれる必要があります。
public static void main(String[] args) { boolean b; System.out.println(b); } //実行結果 ローカル変数 b が初期化されていない可能性があります
上記のとおりコンパイルエラーとなります。
例え、ローカル変数に初期値としてfalseがセットされていたとしても、可読性の観点から値をセットするほうが良いと思います。
boolean型の使い方:フラグとして管理しやすい
boolean型はtrueまたはfalseの値のみを保持するためフラグとしての管理に役立ちます
フラグは通常on,offの2つの状態のどちらかを表すことですが、boolean型もtrueまたはfalseのいずれかの状態のため処理の判定に役立ちます。
例えば処理対象者の判定条件をまとめるなど行った具合です。
特定の条件下などのデータに処理を行いたい場合はフラグを立て、処理を実行するなどです。
public static void main(String[] args) { boolean 処理対象者F = false; int 生年月日 = 20000115; String 性別 = "男"; if (生年月日 >= 20000101 && 生年月日 <= 20000131 && "男".equals(性別)) { 処理対象者F = true; } if (処理対象者F) { System.out.println("処理実行"); } } // 実行結果 処理実行
上記では生年月日が2000年1月生まれ かつ 性別が男の場合に処理を行いたい場合のフラグとなります。
変数で値を特定の条件を満たすか判定し、処理実行の有無を決めます。
最初の1回のみ実行するための制御にも利用できる
最初の1回のみ処理を実行するといった処理にも利用できます。
String hairetu[] = {"1","2","3"}; boolean flg = false; for (int i = 0; i < hairetu.length; i++) { if (!flg) { System.out.println("出力結果"); flg = true; } System.out.println(hairetu[i]); } // 実行結果 出力結果 1 2 3
上記ではフラグで最初の1回目に出力した後、trueに切り替え、その後の処理には実行されないように制御することもできます。
コメントを残す