/
Программирование
/
Курс Java
/

Зачем нужны типы данных

Java: Зачем нужны типы данных

Программы работают с разной информацией. Это текст, числа, даты, логические значения. Внутри высокоуровневых языков программирования каждое значение относится к какому-то типу. Например, строки относятся к типу String, а целые числа — к типу int.

Зачем нужны типы? Они защищают программу от трудноотловимых ошибок. Тип определяет две вещи.

  • Допустимые значения. Например, числа в Java делятся на две группы. Целые числа относятся к типу int, а рациональные (дробные) — к типу double. Такое разделение связано с особенностями работы аппаратуры.
  • Набор допустимых операций. Например, операция умножения имеет смысл для целых чисел. Но не имеет смысла для строк. Умножать слово "мама" на слово "блокнот" — бессмыслица.

Язык программирования распознает типы. Поэтому Java не позволит умножать строку на строку, но позволит умножать целое число на другое целое число. Наличие типов и таких ограничений защищает программы от случайных ошибок:

"one" * "two"
Error:
bad operand types for binary operator '*'
  first type:  java.lang.String
  second type: java.lang.String

Числа и строки относятся к разным типам

Каким образом Java понимает, что за тип данных перед ней? По способу записи значения. Число записывается без кавычек, а строки всегда ограничены двойными кавычками. Например, значение "234" считается строкой, хотя внутри записаны цифры:

System.out.println(5);     // => 5
System.out.println("234"); // => 234

На экране результат выглядит похоже, но внутри программы это разные значения. Число 5 относится к типу int, а "234" — к типу String. Сложить строку и число напрямую Java не даст без явного указания, как преобразовать данные.

Примитивные и ссылочные типы

Часть типов встроена в язык. Их называют примитивными. Кроме целых чисел int и рациональных double, к ним относятся логический тип boolean со значениями true и false, а также символ char:

int n = 5; // целое число
double x = 1.5; // рациональное число
boolean flag = true; // логическое значение
char c = 'A'; // один символ

Обратите внимание на тип char. Символ записывается в одинарных кавычках, например 'A'. А вот строка из одного символа заключается в двойные кавычки, например "A". Это разные значения разных типов.

Тип String относится к ссылочным типам и описывает набор символов, то есть текст. При этом строки используются наравне с примитивными типами.

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

Задание

Выведите на экран результат деления целых чисел 3 на 2. Подумайте почему получился такой ответ?

Полезное

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются