Каков диапазон значений примитивного типа short в Java?

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

Ответ

Примитивный тип short в Java — это 16-битное целое число со знаком (signed). Его диапазон значений:

от -32 768 до 32 767 (включительно).

Объяснение: Один бит отводится под знак, 15 бит — под величину.

  • Максимальное положительное значение: (2^{15} - 1 = 32 767).
  • Минимальное отрицательное значение: (-2^{15} = -32 768).

Примеры:

short min = -32768;
short max = 32767;

// short s = 32768; // Ошибка компиляции: значение вне диапазона
short s = (short) 32768; // Явное приведение с переполнением
System.out.println(s); // Выведет: -32768

// Как и byte, в арифметике short расширяется до int
short x = 1000;
short y = 2000;
// short z = x + y; // Ошибка: результат типа int
short z = (short) (x + y); // Корректно, результат 3000 после приведения станет -25536 из-за переполнения.
Сравнение с другими целочисленными типами: Тип Размер (биты) Диапазон
byte 8 -128 .. 127
short 16 -32 768 .. 32 767
int 32 -2 147 483 648 .. 2 147 483 647
long 64 -9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807