Всего в Java предусмотрено 8 примитивных типов данных, это:
- byte – целое лежащее в диапазоне от 2^7 до 2^7-1;
- short – целое лежащее в диапазоне от 2^15 до 2^15-1;
- с– целое лежащее в диапазоне от 2^31 до 2^31-1;
- long– целое лежащее в диапазоне от 2^63 до 2^63-1;
- float – число с плавающей точкой, записанное в стандарте IEEE 754, длиной 32 бита;
- double – также как float, число с плавающей точкой, длиной 64 бита;
- char – Unicode символ длиной 16 бит, находится в диапазоне от «\u0000» до «\uffff»;
- boolean – логический примитив, для него предусмотрено два значения true или false.
Кроме примитивной, переменная в Java может быть ссылкой.
По умолчанию, переменные примитивных типов принимают нулевые значения: 0, \u0000, false.
Все примитивные типы имеют ссылочную версию. Применение ссылочных типов снижает производительность и увеличивают объём используемой памяти. Поэтому использовать их без нужды не рекомендуется. Например, не нужно использовать ссылочный тип Integer в качестве счётчика цикла, лучше использовать тип int.
Объём памяти, занимаемый каждым примитивным типом данных, зависит от конкретной реализации используемой виртуальной машины. Главное условие – он должен быть достаточным для хранения всех возможных значений. Например, логический примитив boolean, который обычно занимает 1-бит, в некоторых версиях может занимать 8-бит.