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

Ответ

В языке Java примитивный тип short всегда занимает 2 байта (16 бит). Он предназначен для хранения целых чисел со знаком в диапазоне от -32 768 до 32 767.

Пример объявления и использования:

short distance = 15000;
short maxShort = Short.MAX_VALUE; // 32767
short minShort = Short.MIN_VALUE; // -32768

Почему именно 2 байта? Это гарантируется спецификацией Java (JLS) для обеспечения переносимости. В отличие от C/C++, где размер short зависит от компилятора и платформы, в Java он фиксирован.

Ответ 18+ 🔞

Ну ты смотри, какой прикол, блядь! Вот этот short в Java — он как тот самый Герасим, немой, но сильный, блядь. Всегда ровно два байта, ни больше ни меньше, ёпта! Не то что в этих твоих C++, где он сегодня 2 байта, а завтра, сука, в зависимости от погоды, может и 4, блядь. Тут всё чётко, как в аптеке.

Представь себе, есть у тебя коробочка. И коробочка эта, блядь, всегда одного размера, хоть ты тресни. Влезает в неё числа от -32 768 до 32 767. Больше — нихуя, блядь, не влезет, вывалится всё, переполнение случится, пиздец.

Вот смотри, как это выглядит, сука:

short distance = 15000; // Ну, вроде норм, влазит
short maxShort = Short.MAX_VALUE; // 32767 — вот это потолок, блядь, выше не прыгнешь!
short minShort = Short.MIN_VALUE; // -32768 — а это пол, ниже не упадёшь!

А если ты такой умный и попробуешь short s = 35000;, то компилятор тебе сразу: «Нихуя, братан, не сходится. Ты куда, еблан?». Он тебя нахуй пошлёт с таким присваиванием. Это ж спецификация, ёбаный в рот! JLS сказала — 2 байта, значит 2 байта. Переносимость, блядь, чтобы твой код и тут работал, и там, а не «ой, а у меня на Linux'е short 4 байта, а на Windows — 2, всё сломалось, пизда».

Короче, short — это такой скромный труженик, тихий, но знающий своё место. Когда больших чисел не надо, а int — это овердохуища памяти тратить, вот он и пригождается. Но помни про его границы, а то наступишь на те же грабли, что и Герасим с Муму — сделаешь хуйню и потом будешь метаться: «Что ж я, мудак, сделал?».