В java существуют следующие примитивы:
byte — целые числа в пределах -128 до 127, весит 1 байт;
short — целые числа в пределах -32768 до 32767, весит 2 байта;
int — целые числа -2147483648 до 2147483647, весит 4 байта;
long — целые числа в пределах 9223372036854775808 до 9223372036854775807, весит 8 байтов;
float — числа с плавающей запятой в пределах -3.4E+38 до 3.4E+38, весит 4 байта;
double — числа с плавающей запятой в пределах -1.7E+308 до 1.7E+308, весит 8 байтов;
char — одиночные символы в UTF-16, весит 2 байта;
boolean - значения true/false, весит 1 байт.
На каждый примитив есть своя обёртка - это уже ссылочный тип данных:
Byte
Short
Integer
Long
Float
Double
Char
Boolean
В чем отличие?
Основное отличия:
Примитивы передаются по значению, занимают меньше памяти, выше производительность.
Объект хранится по ссылке.
Примитивны хранятся в стеке.
Объекты хранятся в куче.
Важно заметить, что сама ссылка на объект располагается в стеке, но сам объект находится в куче.
Что нужно иметь ввиду при работе на реальном проекте?
Примитивные типы инициализируются автоматически по дефолту и имеют следующие значения:
byte - 0.
short - 0.
int - 0.
long - 0L.
float - 0.0f.
double - 0.0d.
char - '\u0000'.
boolean - false.
Ссылочные типы данных, не примитивы, по дефолту инициализируются значением = null.
Выплаты, пособия от государства, экономические новости читать здесь: https://t.me/+fbTtq1Tpb_45NGUy