HOWTO · Java

Java でブール変数を切り替える

この記事では、Java でブール変数を切り替える方法を紹介します。

Boolean は、boolean プリミティブをラップする Java のラッパー クラスです。 オブジェクト指向プログラミングでは、クラス は、プリミティブではなくオブジェクトを最大限に活用する方法です。

クラスの概念は、Boolean クラス内で boolean または bool プリミティブ値をバインドするソリューションを呼び起こしました。

Java でブール変数を切り替える

Boolean クラスには、TRUE 変数と FALSE 変数の 2つの静的な値しかありません。 静的メンバー変数を使用すると、Boolean は valueOf()parseBooleantoString などの静的メソッドも保持します。

ユーザーが 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 または 1true または false などの値を必要とする場合にのみ使用できます。

上記のコードでは、not 演算子がブール変数とともに追加され、現在の値が否定されます。 最も簡単な方法は、ブール変数を 1つのステートメントで切り替えることです。

三項条件を使用

三項演算子は、?: 演算子を使用してよく知られています。 三項演算子の構文は、expression?expression1: expression2 です。

最初の演算子は ? です。 式が成功するクエスチョンマーク。 式は評価される必要があり、その結果は true または false になります。

評価後の式の結果が true 値の場合、結果は expression1 になります。 ネストは、式ステートメントでも実行できます。

結果が false 値を評価する場合、expression2 が評価されます。 上記のソース コードでは、Boolean 値が三項演算子で切り替えられます。

ビット単位の排他的 OR (^=) 演算子を使用する

代入演算子またはビットごとの排他的 OR 演算子は、最初のオペランドのビットごとの値を別の値と比較します。

OR のビット マッチングは次のとおりです。

  1. ビット 0 がビット 1 と比較される場合: 結果は 1 です。
  2. ビット 0 がビット 0 と比較される場合: 結果は 0 です。

時間的には、ビットごとの OR がブール値を切り替える最も速い方法です。 CPU 内のレジスタを使用して評価を高速化します。

if-else ループを使用する

if-else ループは、条件をチェックする伝統的な方法です。 状態はハンディで広く使用されています。

上記のソース コードでは、if-else ループを使用して、ブロック ロジックを使用して値を切り替えます。

  1. ステートメントが true と評価された場合、最初のブロックが実行されます。
  2. 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