Javaの | と || の違い

Apr 29, 2024 am 01:15 AM

Java では、 | および || は、それぞれビット単位の OR および論理 OR 演算を実行します。ビットごとの OR は個々のビットに対して演算しますが、論理 OR はブール値自体に対して演算します。 | は通常、ビット単位の演算に使用され、 || はブール式を結合するために使用されます。

Javaの | と || の違い

Java における | と || の違い

Java では、 || は論理演算子です。ブール式で複数のブール値を組み合わせるために使用されます。どちらもブール式の評価に使用されますが、動作は若干異なります。

| (ビット単位の OR)

| 演算子は、各オペランドの個々のビットに対してビット単位の OR 演算を実行します。ビットごとの OR には次のルールが適用されます:

    両方のビットが 0 の場合、結果は 0 になります。
  • 両方のビットが 1 の場合、結果は 1 になります。
  • 一方のビットが 0 で、もう一方のビットが 1 の場合、結果は 1 になります。
例:

<code>int x = 10; // 1010 (二进制)
int y = 5;  // 0101 (二进制)

int result = x | y; //按位 OR 1010 | 0101
System.out.println(result); //输出:1111 (等价于 15)</code>
ログイン後にコピー

|| (論理和)

|| 演算子はブール式を評価するために使用されます。次のルールが論理 OR に適用されます。

    どちらかのオペランドが true の場合、結果は true になります。
  • 結果が false になるのは、すべてのオペランドが false の場合のみです。
例:

<code>boolean a = true;
boolean b = false;

boolean result = a || b; //逻辑 OR
System.out.println(result); //输出:true</code>
ログイン後にコピー

概要

主な違い:

    | はビット単位の OR 演算を実行し、|| は論理 OR 演算を実行します。
  • ビット単位の OR 演算は各オペランドの個々のビットに対して演算されますが、論理 OR 演算はブール値自体に対して演算されます。

使用法:

    | 通常、特定のビットのセットまたはクリアなどのビット操作に使用されます。
  • || はブール式を組み合わせるために使用され、特定の条件下で操作を実行する必要がある場合に非常に便利です。

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

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか? Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか? Mar 17, 2025 pm 05:35 PM

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?

2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte 2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte Mar 07, 2025 pm 06:09 PM

2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか? キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか? Mar 17, 2025 pm 05:43 PM

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか? 高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか? Mar 17, 2025 pm 05:46 PM

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?

node.js 20:キーパフォーマンスが向上し、新機能 node.js 20:キーパフォーマンスが向上し、新機能 Mar 07, 2025 pm 06:12 PM

node.js 20:キーパフォーマンスが向上し、新機能

Iceberg:データレイクテーブルの未来 Iceberg:データレイクテーブルの未来 Mar 07, 2025 pm 06:31 PM

Iceberg:データレイクテーブルの未来

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか? カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか? Mar 17, 2025 pm 05:44 PM

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正 Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正 Mar 07, 2025 pm 05:52 PM

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正

See all articles