Ответ
В Java типы данных делятся на две основные категории: примитивные (хранят значение) и ссылочные (хранят адрес объекта).
Примитивные типы (8 видов)
- Целые числа:
byte(8 бит),short(16 бит),int(32 бита),long(64 бита). - Числа с плавающей точкой:
float(32 бита),double(64 бита). - Символьный:
char(16 бит, Unicode). - Логический:
boolean(значениеtrueилиfalse).
Ссылочные типы
- Классы (например,
String,Integer, пользовательские классы). - Интерфейсы.
- Массивы.
Ключевое отличие: Примитивные переменные хранят фактическое значение, а ссылочные — адрес объекта в памяти (heap). При присваивании примитивов копируется значение, а при присваивании ссылок — копируется адрес (обе переменные начинают ссылаться на один объект).
Пример:
int primitiveNum = 42; // Значение 42 хранится прямо в переменной
String referenceStr = "Hello"; // Переменная хранит ссылку на объект String
int[] numbers = {1, 2, 3}; // Ссылочный тип (массив)