ホームページ >Java >&#&チュートリアル >Java の & と && : ビットごとの AND と論理 AND をいつ使用するか?
Java の二項演算子の複雑さを明らかにする: & 対 &&
Java プログラミングの領域では、演算子は操作において重要な役割を果たします。データと制御プログラム フロー。一般的に使用される 2 つの二項演算子、& (AND) と && (AND-THEN) は、微妙だが重要な違いがあるため注目を集めています。
ジレンマ: 論理 vs ビット単位
歴史的に、& 演算子は整数オペランドのバイナリ表現をビット単位で結合するビット単位の演算に使用されてきました。 少し。ただし、論理積を実行するブール オペランドにも適用できます。この二重性により、多少の混乱が生じています。
&& の導入:
この曖昧さに対処するために、Java は、特に論理結合用に設計された && を導入しました。 & とは異なり、&& は最初のオペランドが true と評価された場合にのみ 2 番目のオペランドを評価します。この動作は「短絡評価」として知られています。
なぜ短絡するのですか?
短絡評価は、次の 2 つの主な目的を果たします。
内部オーバーロード
& は追加の論理機能で内部的にオーバーロードされるという想定に反して、ビット単位の演算子としてのみ動作します。 & を使用して論理結合を実行できる機能は、Java の暗黙的な型変換ルールに基づいています。 & がブール オペランドに適用されると、それらは自動的に整数 (偽の場合は 0、真の場合は 1) に変換され、論理 AND 動作が行われます。
使用上の考慮事項
& と && の違いを理解することは、効率的で信頼性の高い記述を行うために不可欠ですコード。
以上がJava の & と && : ビットごとの AND と論理 AND をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。