Выбор ответа Junior Основы: типы, обёртки, static обновлено
Переполнение int
Вопрос
Что выведет System.out.println(Integer.MAX_VALUE + 1);?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: -2147483648. Целочисленная арифметика в Java переполняется молча по модулю 2^32: максимум плюс один даёт минимум, -2147483648.
Варианты ответа
2147483648- Будет выброшено ArithmeticException
- Ошибка компиляции: константа не помещается в int
-2147483648правильный ответ
Разбор
Целочисленная арифметика в Java переполняется молча по модулю 2^32: максимум плюс один даёт минимум, -2147483648. Значение 2147483648 в int не помещается, а результат выражения имеет тип int. ArithmeticException бросают только Math.addExact и деление на ноль. Компилятор тут не ругается: он вычисляет константу с тем же переполнением.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Порядок инициализации при new Child()
Следующий вопрос
Что выведет: перегрузка, расширение и упаковка
Термины по теме
Ещё по теме «Основы: типы, обёртки, static»
- char плюс int
- Изменили константу в библиотеке
- Деньги в double
- Ключ Long и get(int)
- final ссылка на список
- Автоупаковка
- Порядок инициализации
- Примитивы Java