Какой размер в памяти у примитивного типа `int` в Java?

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

Ответ

Примитивный тип int в Java всегда занимает 4 байта (32 бита) памяти.

Ключевые характеристики:

  • Размер: Фиксирован и гарантирован спецификацией языка JLS, независимо от платформы.
  • Диапазон значений: От -2 147 483 648 (Integer.MIN_VALUE) до 2 147 483 647 (Integer.MAX_VALUE). Это соответствует -2³¹ до 2³¹ - 1.
  • Назначение: Основной тип для целочисленных операций, индексов массивов, счетчиков циклов.

Примеры и сравнение:

int population = 1_500_000;      // Использование underscore для читаемости
int max = Integer.MAX_VALUE;     // 2147483647
int min = Integer.MIN_VALUE;     // -2147483648

// System.out.println(max + 1); // Переполнение: выведет -2147483648 (MIN_VALUE)

// int — стандартный выбор для целых чисел.
// long (8 байт) используется для очень больших чисел.
// byte/short (1-2 байта) — для экономии памяти в массивах или сетевых протоколах.

Почему размер фиксирован? Гарантия переносимости (write once, run anywhere). Код, написанный для одной платформы, не сломается на другой из-за разного размера int. Арифметические операции и переполнение ведут себя предсказуемо.

Проверка размера через обертку Integer:

System.out.println(Integer.BYTES); // Выведет: 4
System.out.println(Integer.SIZE);  // Выведет: 32 (бита)