[解決済み] Javaにおけるビット演算子のブール値への影響
2022-07-28 10:36:24
質問
ビット演算子は、変数を移動させ、ビットごとに操作することになっています。 整数、長さ、文字列の場合、これは理にかなっています。 これらの変数は、そのサイズによって強制される値の完全な範囲を含むことができます。
しかし、booleanの場合、booleanは2つの値だけを含むことができます。 1 = 真、または 0 = 偽です。 しかし、booleanのサイズは定義されていません。 バイトのような大きさもあれば、ビットのような小ささもある。
では、booleanにbitwise演算子を使用すると、どのような効果があるのでしょうか? JVM は本質的にそれを通常の論理演算子に変換して、次に進むのでしょうか? それは、操作の目的のために、単一ビット実体としてブーリアンを扱いますか? それとも、結果は、ブール値のサイズと共に未定義ですか?
どのように解決するのですか?
演算子
&
,
^
そして
|
は,オペランドがプリミティブな整数型である場合には,ビット演算子である。 オペランドがブーリアンであるとき,それらは論理演算子であり,後者の場合における動作が規定されている。の15.22.2節を参照すること。
Java言語仕様
を参照してください。
関連
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SLF4J: クラス・パスに複数のSLF4Jバインディングが含まれています。
-
ブートレイヤーの初期化中にエラーが発生しました java.lang.module.FindException: モジュールが見つかりません
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
-bash: java: コマンドが見つからない 解決方法
-
ジャバアレイ
-
XXX型を囲むインスタンスがJavaでアクセスできない
-
Server Tomcat v9.0 Server at localhost の起動に失敗しました。
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。
-
WeChat小プログラム Bluetooth通信 Bluetoothモジュールデモ
-
[解決済み] 3つのブール値のうち、少なくとも2つが真であるかどうかをチェックする