整数の最大値(オーバーフロー)を超えると、最小値が割り当てられます。
例System.out.println(Integer.MAX_VALUE+1);
出力:-2147483648
ここで例外をスローするのではなく、プログラムは誤った値を返します。
この機能は、どのようにプログラマーやデザイナーに役立ちますか?オーバーフローまたはアンダーフローが発生したときにプログラムが例外をスローしない理由
-2
A
答えて
-1
これは、1回の算術演算のたびにオーバーフローをチェックする必要がないため、コードの実行速度が向上します。
0
Javaの元の実装者は、計算がオーバーフローを引き起こしたかどうかを確認する必要がないというオーバーヘッドを求めていたと思います。プログラム的にチェックすることができます。たとえば、How does Java handle integer underflows and overflows and how would you check for it?
伝統的なCとC++が整数を処理する方法であるため、先例があります。
関連する問題
- 1. int.MinValue%-1が原因でオーバーフロー例外が発生する理由
- 2. 'CALayerInvalidGeometry'の理由: 'CALayer bounds NaN'例外が発生しました
- 3. WiX light.exeが演算処理をスローするオーバーフロー例外が発生しました
- 4. 例外の処理中に例外が発生しました
- 5. Javascript - この例外が発生した理由
- 6. 例外をチェックした後にプログラムが例外をスローする
- 7. スクリプト内でNameError例外がスローされました - わからない理由
- 8. System.DirectoryServices.DirectorySearcherが「演算処理でオーバーフローが発生しました」というエラーが発生しました
- 9. JMS処理中にapachemq例外が発生しました
- 10. JSP処理中に例外が発生しましたwhileループ
- 11. 例外が発生しましたjava.lang.UNIXProcess.forkAndExec
- 12. .NET例外が発生しました。
- 13. C#:例外を発生またはスローしますか?
- 14. Netty例外処理 - ハンドラが例外をスローした後、何を?
- 15. C++例外がスローされたときにデバッガのプログラムを中断します。
- 16. 例外が発生した後にプログラムをステップバックする - Visual Studio
- 17. ボタンクリックイベントで未処理の例外が発生しました
- 18. runMidlet.exeで未処理のWin32例外が発生しました
- 19. mscorlib.dllで未処理の例外 'System.IO.IOException'が発生しました
- 20. アプリケーションで未処理のWin32例外が発生しました
- 21. 'System.ArgumentException'型の未処理の例外が発生しました
- 22. Fody:未処理の例外が発生しました
- 23. 'System.InvalidCastException'型の未処理の例外が発生しました
- 24. mavenからjavaプログラムを実行しようとしているときに例外が発生しました
- 25. Express.jsエラーを処理させない:例外が発生しました:エラー_runMicrotasks();
- 26. 解析エラーが発生したときにスローするのに適切な例外はありますか?
- 27. WebjobがAzureキューの処理ジョブを完了したときに404 Not Found例外が発生しました
- 28. SimpleXmlElementが例外をスローしました
- 29. 例外が発生したときにフォームを元に戻す
- 30. C#HttpClient.SendAsync throw "URLのテスト時にエラーが発生しました"という例外が発生しました。
これは間違った値ではありません。絶対に正しいです - Javaの整数は32ビットの符号付きです.MAX値に1を加えると、最も低い値に戻ります。 .. http://stackoverflow.com/a/5131206/4252352 –
データタイプの観点から絶対に@MarkKeen。しかし、開発者が(int x = 3 * 1000000000のような)計算のためのコードを書くと、変数xに負の値を割り当てることは期待しません。なぜ私はそれを開発者の視点で間違った価値と言いますか。プロジェクトのこの問題に直面し、3%の数値を計算しました。私は、Javaが例外またはエラーを介して間違った結果を計算することはないと誤解していました。 –
これは、オーバーフローがうまくいくことをどのように好むかに関する単なる意見です:予期しない結果を出すのではなく、例外を投げる?これは疑問のない質問です。これはどのように動作するのか、あなたはすでにこれを知っているので、それに応じた作業、つまりコードのチェック/テスト/正しい変数の割り当て(int、longなど..)があります。私はそこには、すべての人が望んで期待している通りのプログラミング言語があるとは言えません... –