Скидки до 28% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Код

Работа с типами данных в Java: от примитивов до объектов

Java Время чтения статьи ~4 минуты
Работа с типами данных в Java: от примитивов до объектов главное изображение

В Java существует два основных типа данных: примитивные и объектные, они же ссылочные. Примитивные типы в Java встроены в сам язык и служат базовыми строительными блоками для хранения простых значений. Объектные типы данных создаются программистом и представляют собой более сложные структуры, которые включают в себя объекты.

Java-разработчик — с нуля до трудоустройства за 10 месяцев
  • Постоянная поддержка от наставника и учебного центра
  • Помощь с трудоустройством
  • Готовое портфолио к концу обучения
  • Практика с первого урока

Вы получите именно те инструменты и навыки, которые позволят вам найти работу

Узнать больше

Java — язык строгой типизации. Это значит, что каждый вид данных относится к конкретному типу, что помогает избежать ошибок и сделать код более надежным. Рассмотрим типы в Java подробнее.

Примитивные типы в Java

Примитивы — это простейшие типы данных, встроенные в язык Java. Они представляют собой неразрывные значения и не являются объектами. Каждый примитивный тип в Java имеет фиксированный размер, что позволяет планировать потребление памяти и производительность. Примитивы используются для хранения и обработки самых простых значений, таких как числа, символы и логические значения.

Основные примитивные типы

  1. Целочисленные типы:
    • byte: 8-битное целое число со знаком. Диапазон значений от -128 до 127;
    • short: 16-битное целое число со знаком. Диапазон значений от -32 768 до 32 767;
    • int: 32-битное целое число со знаком. Диапазон значений от -2 147 483 648 до 2 147 483 647;
    • long: 64-битное целое число со знаком. Диапазон значений от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807.
  2. Типы чисел с плавающей точкой:
    • float: 32-битное число с плавающей точкой. Диапазон значений от 1,4e-45 до 3,4e+38;
    • double: 64-битное число с плавающей точкой. Диапазон значений от 4,9e-324 до 1,8e+308.
  3. Логический тип:
    • boolean: может принимать значения true или false.
  4. Символьный тип:
    • char: 16-битный символ Unicode. Диапазон значений от '\u0000' (0) до '\uffff' (65 535).

Использование примитивов в Java

Примитивные типы данных могут участвовать в арифметических и логических операциях, использоваться для контроля выполнения программы через условные операторы и циклы.

Объектные типы в Java

Объектные типы данных, или ссылочные типы, представляют собой более сложные структуры данных. В отличие от примитивов, объекты могут хранить данные разного типа и предоставлять методы для их обработки. Каждый объект создается на основе класса, который определяет его структуру и поведение. Объекты могут включать в себя другие объекты и примитивные типы, что позволяет создавать сложные структуры данных.

Java-разработчик — с нуля до трудоустройства за 10 месяцев
  • Постоянная поддержка от наставника и учебного центра
  • Помощь с трудоустройством
  • Готовое портфолио к концу обучения
  • Практика с первого урока

Вы получите именно те инструменты и навыки, которые позволят вам найти работу

Узнать больше

Классы-обертки (Wrapper Classes)

Классы-обертки позволяют использовать примитивные типы данных как объекты. Java предоставляет классы-обертки для каждого примитивного типа: Integer, Float, Double, Boolean, Character и другие. Это позволяет использовать примитивные типы в контекстах, где требуются объекты, например в коллекциях.

Автоупаковка (Autoboxing) и распаковка (Unboxing)

Java поддерживает автоупаковку и распаковку, что означает автоматическое преобразование между примитивными типами и их соответствующими объектами-классами. Это упрощает код и делает его более читабельным.

Сравнение примитивных типов и объектов

Память и производительность

Примитивные типы данных занимают меньше памяти и обеспечивают лучшую производительность по сравнению с объектами, так как они не требуют дополнительной памяти для хранения информации о классе и методах. Объекты, в свою очередь, занимают больше места в памяти, но могут предоставлять больше функциональности за счет методов и полей.

Методы и функциональность

Объектные типы данных предоставляют методы для выполнения различных операций над данными. Например, класс String предоставляет методы для работы со строками, такие как length(), charAt(), substring() и многие другие.

Напишите телеграм бота на Java за 2 дня на бесплатном интенсиве

Записаться на интенсив

Использование объектных типов в Java

Объектные типы данных широко используются для создания сложных структур данных и взаимодействия с другими объектами в программе. Они могут включать в себя данные различных типов и предоставлять методы для их обработки.

Рассмотрим простой пример, где используются и примитивные типы, и ссылочные.

public class Example {

public static void main(String[] args) {

int id = 101; // Примитивный тип

String name = "Alice"; // Ссылочный тип

Double gpa = 3.75; // Ссылочный тип (класс-обертка для примитива)

System.out.println("ID: " + id);

System.out.println("Name: " + name);

System.out.println("GPA: " + gpa);

}

}

Заключение

Разработчику не обязательно помнить все типы в Java наизусть, но важно понимать, как они работают и чем отличаются. Это позволяет писать более эффективный и надежный код, используя преимущества примитивных типов для производительности и объектных типов для функциональности. Если вас интересуют другие базовые понятия в языке Java, рекомендуем курс «Основы Java» от компании Хекслет.

Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря