Предел 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, но я понятия не имею, почему второй вариант не вызывает ошибок.