ブール演算子の微妙な点を明らかにする: & と && および | vs ||
ブール論理演算子 && (条件付き And) と || の動作(Conditional-Or) はよく知られているように思えるかもしれませんが、対応する & (Bitwise-And) および | が存在します。 (Bitwise-Or)、これには注意が必要です。これらのビット単位の演算子は、ビットレベルで動作し、異なるルールのセットを提供します。
その機能を理解するために次の例を検討してください。
int a = 6; // Binary: 110 int b = 4; // Binary: 100 // Bitwise AND int c = a & b; // 110 // & 100 // ----- // 100 // Bitwise OR int d = a | b; // 110 // | 100 // ----- // 110 System.out.println(c); // Output: 4 System.out.println(d); // Output: 6
このデモでは、ビット単位の演算子は次のことを実行します。入力整数の対応する各ビットに対して論理演算を実行し、値が変更されます。ビットごとの AND (&) とビットごとの OR (|) は、それらの論理的な対応物とは異なり、入力を 0 と 1 のシーケンスとして考慮してビットレベルで動作します。
&& に注意することが重要です。そして ||オペレータは「短絡」ルールに従います。これは、最初の条件がそれぞれ false または true と評価された場合、2 番目の条件の評価がスキップされ、潜在的なエラーや例外が効果的に防止されることを意味します。
逆に、& および |このような動作をしないでください。これらは、句内のすべての条件を注意深く検査し、前の条件の結果に関係なく、提供されたすべての式を評価します。この区別は、次の例に示すように、式の 1 つで例外が発生する可能性がある場合に重要になります。
int a = null; if ((a != null) & (a.something == 3)) { // Safe: 'a.something' will not be evaluated if 'a' is null } if ((a != null) & (a.something == 3)) { // Unsafe: 'a.something' will be evaluated even if 'a' is null, potentially raising an exception }
ブール演算子のこれらの基本的な違いを理解することで、コード内でそれらの力を効果的に活用し、正しい演算子を保証することができます。最適化された動作。
以上がJava のブール演算子 `&&`/`||` とビット演算子 `&`/`|` の主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版
中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
