В Java существует два основных типа данных:
Примитивные типы данных (Primitive Data Types): Хранят простые значения. Их размер и диапазон предопределены JLS (Java Language Specification).
boolean (хранит true или false).byte (1 байт, от -128 до 127)short (2 байта, от -32,768 до 32,767)int (4 байта, от -2^31 до 2^31-1)long (8 байт, от -2^63 до 2^63-1)char (2 байта, хранит один символ в кодировке Unicode)float (4 بايта, одинарная точность)double (8 بايтов, двойная точность)Ссылочные типы данных (Reference Data Types): Хранят ссылки (адреса) на объекты в памяти. Включают предопределенные классы Java, массивы и созданные пользователем классы, интерфейсы и перечисления.
class)interface)enum)array)Примеры:
java
Отличия:
| Признак | Примитивные типы | Ссылочные типы |
|---|---|---|
| Хранение | Фактическое значение | Ссылка (адрес) на объект в памяти |
| Значение по умолчанию | Зависит от типа (0, false, '\u0000') | null |
| Размер | Фиксированный | Зависит от объекта и платформы JVM |
| Работа с памятью | Размещаются в стеке (обычно) | Объекты размещаются в хипе, ссылки в стеке |