Ответ
В Java примитивный тип int всегда занимает ровно 4 байта (32 бита). Это гарантировано спецификацией языка Java (JLS) и не зависит от операционной системы или разрядности платформы (32/64-битной).
Проверка:
int example = 100;
System.out.println("Размер int в байтах: " + Integer.BYTES); // Выведет: 4
System.out.println("Размер int в битах: " + Integer.SIZE); // Выведет: 32
Размеры других целочисленных примитивов в Java:
byte— 1 байт (8 бит)short— 2 байта (16 бит)int— 4 байта (32 бита)long— 8 байт (64 бита)
Важное уточнение: Это размер примитива в памяти. При использовании в составе объекта или массива может добавляться служебная информация (overhead) для выравнивания (alignment), но сам int остается 4-байтовым.
Ответ 18+ 🔞
А, ну это классика, блядь! Сидишь такой, пишешь на Java, и тут бац — вопрос про размер int. А сосед по open space, этот, с умным видом так: "Ну это ж зависит от системы, 32-битная у тебя или 64-битная, там всё плавает, блядь!"
И вот тут, сука, самое время ебануть его учебником по JLS (Java Language Specification, для распиздяев) по голове! Потому что в Java, ёпта, всё чётко и жёстко, как у попа в бане. Примитивный int — это всегда, блядь, ровно 4 байта. Тридцать два бита, Карл! Ни больше, ни меньше. Хоть на калькуляторе считай, хоть на суперкомпе — везде одно и то же.
Вот смотри, как проверить, чтоб не быть, прости господи, полупидором, который верит в сказки:
int example = 100;
System.out.println("Размер int в байтах: " + Integer.BYTES); // Выведет: 4
System.out.println("Размер int в битах: " + Integer.SIZE); // Выведет: 32
Видишь? Integer.BYTES — это тебе не хуй с горы, это константа, которая и возвращает эту самую четвёрку. Гарантия от создателей языка, блядь. В рот меня чих-пых!
И чтобы уж совсем мозг не взорвался от неожиданности, вот тебе шпаргалка по остальным целочисленным типам, которые тоже, как ни странно, имеют фиксированный размер:
byte— 1 байт. Маленький, юркий, как таракан.short— 2 байта. Уже посерьёзнее.int— 4 байта. Наш герой, рабочая лошадка.long— 8 байт. Тяжеловес, для когдаintуже не влазит, блядь.
И да, важный момент, чтобы потом не было волнения ебать: это размер самого примитива в памяти. Когда ты его в объект засовываешь или в массив пихаешь, там, конечно, JVM может ещё какую-то свою служебную хуйню добавить для красоты и выравнивания. Но сам по себе int — это всегда те самые честные 4 байта. Как отмерено, так и отрезано. Всё, вопрос закрыт, можно идти пить чай.