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






コメントを残す