Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
public class Main {
public static void main(String[] args) {
int x = Integer.MAX_VALUE;
x++;
System.out.println(x);
}
}-2147483648
- Ждать
2147483648:xимеет типintс максимумом 2147483647, аx++не меняет тип, поэтому значение переходит в -2147483648. - Ждать ошибку или исключение: Java не проверяет переполнение в арифметике
int; исключение бросают только методы вродеMath.addExact.
- Как прибавить единицу к
Integer.MAX_VALUEи получить 2147483648? - Что делает
Math.addExact(Integer.MAX_VALUE, 1)?