Какие типы данных существуют в Java?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
В Java существуют примитивные и ссылочные типы данных.
Примитивные типы данных (Primitive Data Types): Хранят непосредственно значения. Их размер и диапазон значений определены спецификацией Java.
- Целочисленные:
byte: 8 бит, от -128 до 127.short: 16 бит, от -32768 до 32767.int: 32 бита, от -2^31 до 2^31-1. Наиболее часто используемый целый тип.long: 64 бита, от -2^63 до 2^63-1. Для оченьT больших целых чисел.
- С плавающей точкой:
float: 32 бита, одинарная точность по стандарту IEEE 754.double: 64 бита, двойная точность по стандарту IEEE 754. Наиболее часто используемый тип для дробных чисел.
- Символьный:
char: 16 бит Unicode-символ.
- Логический:
boolean: хранитtrueилиfalse.
Ссылочные типы данных (Reference Data Types): Не хранят сами данные, а хранят ссылку (адрес в памяти) на объект, содержащий данные. Включают классы, интерфейсы, массивы и перечисления (enum).
- Классы (Classes):
- Например,
String,Integer,ArrayListи любой пользовательский класс.
- Например,
- Интерфейсы (Interfaces):
- Например,
List,Map.
- Например,
- Массивы (Arrays):
- Например,
int[],String[].
- Например,
- Перечисления (Enums):
- Являются особым типом классов.
Пример объявления и использования примитивных и ссылочных типов:
class DataTypeExample {
public static void main(String[] args) {
// Примитивные типы
int age = 30; // Целочисленный
double balance = 1500.75; // С плавающей точкой
char initial = 'J'; // Символьный
boolean isActive = true; // Логический
// Ссылочные типы
String name = "John Doe"; // Класс String
int[] numbers = {1, 2, 3}; // Массив целых чисел
java.util.ArrayList<String> cities = new java.util.ArrayList<>(); // Класс ArrayList
cities.add("New York");
System.out.println("Age: " + age);
System.out.println("Balance: " + balance);
System.out.println("Initial: " + initial);
System.out.println("Is Active: " + isActive);
System.out.println("Name: " + name);
System.out.println("First number in array: " + numbers[0]);
System.out.println("First city: " + cities.get(0));
}
}
Ключевое отличие: примитивные типы хранят значения непосредственно, тогда как ссылочные типы хранят ссылки на объекты. Примитивные типы имеют фиксированный размер, ссылочные - нет (размер зависит от содержимого объекта). При присваивании примитивных типов копируется значение, при присваивании ссылочных - копируется ссылка.