2e15一目で「2,000 兆」と簡単に読めます2000000000000000が、ゼロを数える必要があるため、時間がかかり、エラーが発生する可能性があります。
orなどのリテラルを使用してintorを宣言できないのはなぜですか? のような 10 の負の累乗、または のような小数点以下の桁数よりも小さい 10 の累乗が浮動小数点数を生成することは理解していますが、なぜ Java はそのような宣言を許可せず、単に切り捨てますか?結果の値が整数でない場合に軽度の警告を発行しますか?long2e91.3e62e-31.0003e3
これが悪い考えである技術的な理由はありますか、それともこれはすべて型安全性に関するものですか? コンパイラが次のようなステートメントを単純に解析するのは簡単ではないでしょうか
long x = 2e12なのでlong x = 2000000000000 //OK for long
そしてint y = 2.1234e3_int y = 2123.4 //warning: loss of precision