[解決済み] シングルスレッドで「while (i == i) ;」が非無限ループになるのはなぜか?
2022-06-23 15:04:42
質問
答えられない質問を受けました。
Javaでこのようなループ定義があったとします。
while (i == i) ;
の型は何ですか?
i
の値は
i
は、ループが無限ループでない場合、そして
プログラムが1つのスレッドしか使っていない場合
?
どのように解決するのですか?
double i = Double.NaN;
のAPIは Double.equals() のAPIは、答えを綴ります: "Double.NaN==Double.NaNは、値false"を持ちます。これは、Java言語仕様の".Double.NaN==Double.NaNは値falseである、というように詳しく書かれています。 浮動小数点の型、形式、および値 という項目で詳しく説明されています。
NaN
は順序付けされないので、数値の 比較演算子<
,<=
,>
そして>=
を返すfalse
どちらか一方または両方が オペランドがNaN
. 等号演算子 等号演算子==
はfalse
もし どちらかのオペランドがNaN
である場合、そして 不等号演算子!=
はtrue
もし どちらかのオペランドがNaN
. において 特にx!=x
はtrue
もし もしx
はNaN
であり、かつ(x<y) == !(x>=y)
は であるfalse
もしx
またはy
はNaN
.
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
Methodのinvokeメソッド実装のJavaリフレクション
-
Google Chromeのエラー「Not allowed to load local resource」の解決策について
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] なぜゲッターとセッター/アクセッサーを使うのですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Javaで汎用配列を作成する方法は?
-
[解決済み] Eclipseが起動できない - Javaは起動したが終了コード=13を返した
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
java.util.NoSuchElementException 原因解析と解決方法
-
ファインバグタイプ
-
Dateが型に解決できない問題を解決する
-
this()の呼び出しはコンストラクタ本体の最初の文でなければならない 例外解決と原因分析
-
Eclipseでプロジェクトエクスプローラービューとパッケージエクスプローラービューを使う
-
サーブレットクラスのインスタンス化エラーの解決法
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
自動配線された依存性のインジェクションに失敗しました。
-
Error: java.lang.NoClassDefFoundError: クラス XXXX を初期化できませんでした
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。