HOWTO · Java
Java でブール変数を切り替える
この記事では、Java でブール変数を切り替える方法を紹介します。
Boolean は、boolean プリミティブをラップする Java のラッパー クラスです。 オブジェクト指向プログラミングでは、クラス は、プリミティブではなくオブジェクトを最大限に活用する方法です。
クラスの概念は、Boolean クラス内で boolean または bool プリミティブ値をバインドするソリューションを呼び起こしました。
Java でブール変数を切り替える
Boolean クラスには、TRUE 変数と FALSE 変数の 2つの静的な値しかありません。 静的メンバー変数を使用すると、Boolean は valueOf()、parseBoolean、toString などの静的メソッドも保持します。
ユーザーが Java プログラムでブール変数の値を切り替えるには、さまざまな方法があります。 トグル動作を示すソース コード ブロックを以下に示します。
import static java.lang.Boolean.TRUE;
public class ToggleBoolean {
public static void main(String[] args) {
Boolean aBoolean = TRUE;
System.out.println("Boolean value : " + aBoolean);
// first way
System.out.println("Boolean value with ! operator: " + !aBoolean);
// second way
Boolean bool = aBoolean ? false : true;
System.out.println("Boolean value with ternary operator: " + bool);
// third way
System.out.println(aBoolean);
aBoolean ^= aBoolean;
System.out.println("Boolean value with ^= operator: " + aBoolean);
// fourth way
if (aBoolean) {
aBoolean = false;
System.out.println("Boolean value using if condition: " + aBoolean);
} else
aBoolean = true;
System.out.println("Boolean value using else condition: " + aBoolean);
}
}
Not (!) 演算子を使用する
オペレーター ! Java プログラミングでは、Not 演算子としても知られています。 演算子の機能は、操作を否定することです。
not を使用すると、必要な場所で否定的なチェックが行われます。 ユースケースは、if-else ブロック、while の条件チェック、do-while ループ、三項 演算子などにあります。
この演算子は、not null のような検証が行われることになっている場合に、プログラミングの実践として使用されます。 not 演算子が等号を使用して不等号を作成し、条件をチェックする場所。
演算子は、ユーザーが 0 または 1、true または false などの値を必要とする場合にのみ使用できます。
上記のコードでは、not 演算子がブール変数とともに追加され、現在の値が否定されます。 最も簡単な方法は、ブール変数を 1つのステートメントで切り替えることです。
三項条件を使用
三項演算子は、?: 演算子を使用してよく知られています。 三項演算子の構文は、expression?expression1: expression2 です。
最初の演算子は ? です。 式が成功するクエスチョンマーク。 式は評価される必要があり、その結果は true または false になります。
評価後の式の結果が true 値の場合、結果は expression1 になります。 ネストは、式ステートメントでも実行できます。
結果が false 値を評価する場合、expression2 が評価されます。 上記のソース コードでは、Boolean 値が三項演算子で切り替えられます。
ビット単位の排他的 OR (^=) 演算子を使用する
代入演算子またはビットごとの排他的 OR 演算子は、最初のオペランドのビットごとの値を別の値と比較します。
OR のビット マッチングは次のとおりです。
- ビット 0 がビット 1 と比較される場合: 結果は 1 です。
- ビット 0 がビット 0 と比較される場合: 結果は 0 です。
時間的には、ビットごとの OR がブール値を切り替える最も速い方法です。 CPU 内のレジスタを使用して評価を高速化します。
if-else ループを使用する
if-else ループは、条件をチェックする伝統的な方法です。 状態はハンディで広く使用されています。
上記のソース コードでは、if-else ループを使用して、ブロック ロジックを使用して値を切り替えます。
- ステートメントが
trueと評価された場合、最初のブロックが実行されます。 false値に評価された場合、2 番目のブロックの式が評価されます。
上記は、値を切り替えるすべての可能な方法です。 評価値が得られる出力ブロックは次のとおりです。
上記の Toggle Boolean ソース コードの出力:
Boolean value : true
Boolean value with ! operator: false
Boolean value with ternary operator: false
true
Boolean value with ^= operator: false
Boolean value using else condition: true