Intern
Какви типове данни съществуват в Java?
sobes.tech AI
Отговор от AI
В 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)
- Класове (
Примери:
// Примитивни типове
int count = 10;
boolean isValid = true;
char initial = 'J';
double price = 99.99;
// Референтни типове
String name = "Java"; // String е клас
int[] numbers = {1, 2, 3}; // Масив
Object obj = new Object(); // Клас Object
Разлики:
| Признак | Примитивни типове | Референтни типове |
|---|---|---|
| Съхранение | Фактическа стойност | Препратка (адрес) към обект в паметта |
| Стойност по подразбиране | Зависи от типа (0, false, '\u0000') | null |
| Размер | Фиксиран | Зависи от обекта и платформата JVM |
| Работа с памет | Обикновено се съхраняват в стека (stack) | Обектите се разпределят в купчината (heap), препратките в стека |