Java の || の違い

下次还敢
下次还敢オリジナル
2024-04-29 01:18:18911ブラウズ

|| Java では、2 つのブール値を接続するために使用される論理演算子です。 || は優先度が高く (論理 OR)、左から右に評価され、最初のオペランドが true の場合は評価を直ちに停止します。 | の優先順位は低く (ビット単位の OR)、各オペランドはビット単位で評価され、いずれかのオペランドの対応するビットが 1 の場合、結果のそのビットも 1 になります。

Java の || の違い

Java の || 演算子の違い

簡単な説明:# Java の ##| と | はどちらも 2 つのブール値を接続するために使用される論理演算子ですが、優先順位と評価ルールが異なります。

詳細:

  • 優先度:

    || 優先度 (14) 、一方 | の優先順位は低くなります (13)。
  • 評価ルール:

      #|| (論理和):
    • オペランドを左から右に評価します。

        最初のオペランドが true の場合、結果は true となり、評価は直ちに停止します。
      • それ以外の場合は、2 番目のオペランドの評価を続行し、結果がその値になります。
    • | (ビット単位の OR):
    • オペランドの順序に関係なく、各オペランドを個別に実行します。 。

        各ビットについて、いずれかのオペランドのビットが 1 の場合、結果のビットも 1 になります。それ以外の場合、結果のこのビットは 0 になります。
  • 例:

    || (論理和) :
  • <code>boolean result = true || false; // 结果为 true
    System.out.println(result);</code>
    最初の例では、最初のオペランドが true であるため、|| 演算子は 2 番目のオペランドを実行せずにすぐに true と評価されます。

  • | (ビット単位の OR):
  • <code>int result = 1 | 2; // 结果为 3(01 | 10 = 11)
    System.out.println(result);</code>
    2 番目の例では、 | 演算子の各オペランドのバイナリ表現がビット単位の OR 演算を実行します。結果は 11 (10 進数で 3) になります。

  • 結論:

|| 演算子はブール値を連結するために使用されますが、優先順位と評価ルールが異なります。 || は、条件を論理的に結合する必要がある場合、およびビット単位の演算を実行する必要がある場合に使用します。

以上がJava の || の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。