Какой диапазон значений у типа Integer в Java?

«Какой диапазон значений у типа Integer в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Тип Integer (обёртка для примитива int) в Java имеет диапазон от -2³¹ до 2³¹ - 1.

Конкретные значения:

  • Минимальное: Integer.MIN_VALUE = -2 147 483 648
  • Максимальное: Integer.MAX_VALUE = 2 147 483 647

Причина: Примитив int занимает 32 бита (4 байта) в памяти, используя один бит для знака (дополнительный код).

Пример и важные следствия:

System.out.println(Integer.MIN_VALUE); // -2147483648
System.out.println(Integer.MAX_VALUE); // 2147483647

// Переполнение (integer overflow) приводит к циклическому заворачиванию (wrap-around)
int max = Integer.MAX_VALUE;
int overflow = max + 1; // Результат: -2147483648 (Integer.MIN_VALUE)

// Для арифметики без ограничений используйте long (64-bit) или BigInteger
long safeResult = (long) max + 1; // 2147483648
BigInteger hugeNumber = BigInteger.valueOf(max).add(BigInteger.ONE);

Практическое правило: При работе с потенциально большими числами (например, суммами, идентификаторами) используйте long.