の制限int
は-2147483648〜2147483647です。
入力すると
int i = 2147483648;
次に、Eclipseは「2147483648」の下に赤い下線を表示します。
しかし、これを行うと:
int i = 1024 * 1024 * 1024 * 1024;
正常にコンパイルされます。
public class Test {
public static void main(String[] args) {
int i = 2147483648; // error
int j = 1024 * 1024 * 1024 * 1024; // no error
}
}
多分それはJavaの基本的な質問ですが、なぜ2番目のバリアントがエラーを出さないのか分かりません。
2147483648
:このリテラルは意味がありません。