問題J00183の解答例と解説 Java Lv.1

範囲を超えた場合(15分)


<解答例 1>

<実行結果>

Integer.MAX_VALUE + 1 の結果は、Integer.MIN_VALUEの値(-2147483648)になっていて、Integer.MIN_VALUE - 1 の結果は、Integer.MAX_VALUE になっているね。つまり int 型の場合、範囲を超えると、循環してしまうんだね。

そのような場合、コンパイラのオプションによってはwarning(警告)メッセージが出されることもあるけど、コンパイルは出来てしまうよ。けれども実行時にエラーにならないよ。だから、バグになってしまっても検知しにくいことがあるよ。

本格的なプログラムを作るときは、自分が作るプログラムが取り得る値の範囲を把握しておいて、範囲を超えそうな場合は、適切な型を選ぶ必要があるよ。




初めての方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。会員登録(無料)して、プログラミングしてみませんか?
新規登録



ログイン
メールアドレス:

パスワード:



パスワード紛失

新規登録