База знаний Бинариум

Типы данных в Java: примитивы, обёртки и String

Типы данных в Java

В Java у каждой переменной есть тип, и компилятор строго за ним следит. Это кажется лишней формальностью, пока не спасёт вас от ошибки, которая в другом языке всплыла бы только в работающей программе. Разбираем типы данных по порядку.

Б

Редакция Бинариума

Пишем о профессиях в дизайне, BIM и IT · 6 минут чтения

Восемь примитивных типов

ТипРазмерДля чего
byte8 битЦелые от −128 до 127
short16 битЦелые до ±32 тысяч
int32 битаОбычные целые числа — используется чаще всего
long64 битаБольшие целые: идентификаторы, время в миллисекундах
float32 битаДробные с меньшей точностью
double64 битаДробные числа — стандартный выбор
char16 битОдин символ
boolean—true или false

На практике чаще всего используются int, long, double и boolean. Остальные нужны в специфических задачах.

Классы-обёртки

У каждого примитива есть класс-обёртка: Integer, Long, Double, Boolean и другие. Они нужны, например, в коллекциях — туда нельзя положить примитив.

List<Integer> numbers = new ArrayList<>();
numbers.add(5); // int автоматически упаковывается в Integer

Курс Бинариума

Java-разработчик с нуля — основы языка на практике

Подробнее

String

String — не примитив, а класс. Строки в Java неизменяемы: любая «правка» создаёт новую строку.

String name = "Java";
String upper = name.toUpperCase(); // name не изменилась

Ловушки для новичков

Деление целых чисел

int a = 7 / 2;      // 3, а не 3.5
double b = 7 / 2.0; // 3.5

Сравнение строк

s1 == s2       // сравнивает ссылки — ошибка
s1.equals(s2)  // сравнивает содержимое — правильно

Переполнение

Если результат вычисления не помещается в int, он «перескакивает» в отрицательные значения без всякой ошибки. Для больших чисел используйте long.

Деньги в double

Дробные типы хранят числа приблизительно. Для денежных расчётов используют BigDecimal.

Главное

  • В Java восемь примитивов, чаще всего — int, long, double, boolean.
  • Обёртки нужны для коллекций и работы с null.
  • Строки неизменяемы и сравниваются через equals.
  • Осторожно с делением целых, переполнением и деньгами в double.

Частые вопросы

Что такое var в Java?

Ключевое слово, которое позволяет не писать тип локальной переменной явно — компилятор выведет его сам. Тип при этом всё равно строгий.

Может ли примитив быть null?

Нет. null может быть только у объектов, например у Integer.

Курс Бинариума

Java-разработчик с нуля

От типов данных до собственного проекта на GitHub.

  • 11 недель обучения
  • 10+ практических работ
  • Проект в портфолио
10.11.2026
Читайте также