本サイトはプロモーション(広告)が含まれています。

Javaのboolean型の使い方について(初期値にはfalse※クラス変数の場合)

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に切り替え、その後の処理には実行されないように制御することもできます。

Javaの記事一覧へ

PAGE TOP