Тесты Протестировать код
Программирование Аналитика Дизайн Маркетинг Управление проектами
15 Янв 2024
6 мин
29274

Какие типы данных существуют в программировании

Пройдите тест, узнайте какой профессии подходите

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

Данные — это зафиксированные сведения, с которыми работает компьютер: получает, обрабатывает и передает. В программировании есть несколько типов данных. Новичкам нужно разбираться в них, чтобы быстрее научиться кодить и понимать алгоритмы.

Что такое тип данных в программировании

Тип данных — это как «ярлык» для переменной, который говорит компьютеру:

  • какие значения можно хранить: числа, текст, даты и так далее;
  • что с ними можно делать: складывать, сравнивать, выводить на экран.

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

age = 25 # тип "число" — можно умножать, делить
name = "Анна" # тип "текст" — можно соединять с другими словами
is_student = True # тип "логический" — можно проверять (да/нет)

Компьютер выдаст ошибку, если попробовать сложить age и name, потому что нельзя складывать числа с текстом.\

Вид типизации Что делает Плюсы Минусы Где используют
Статическая (строгая) Переменной заранее задают тип, который не меняется Меньше ошибок, код работает быстрее Нужно писать больше кода Java, C++
Динамическая (гибкая) Тип определяется сам, когда запускается программа Программисты быстрее пишут код Можно случайно допустить ошибку Python, JavaScript

Зачем нужна типизация:

  • предотвращает ошибки: компьютер заранее проверяет, допустима ли операция;
  • оптимизирует память и скорость: числа и текст обрабатываются по-разному;
  • делает код понятнее: вы сразу видите, что хранится в переменной.

На курсах Skypro, например «Java-разработчик», учат писать чистый код, самостоятельно тестировать его, находить и исправлять ошибки. Соберете несколько приложений, которые можно положить в портфолио.

Какие бывают типы данных

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

Логические. Этот тип данных основан на логике и может иметь два значения: false (ложь) или true (правда). В языках С# и C++ это bool, а в Java — boolean.

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

В ячейке памяти из n бит может храниться и 2n-1 для знаковых типов, и 2n — для беззнаковых.

Еще одна классификация типов данных:

  • Тип short, или короткий целый. Занимает в ячейке памяти 16 бит, то есть 2 байта (216 = 65 536).
  • Тип long. Ему отводится 64 бита, то есть 8 байт (264 = 1,8 446 744 * 1019).

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

числа с плавающей запятой

Например: 1 592 916 = 1,592 916 ∗ 106; 0,00027,459 = 27,459 ∗ 10-5. На мониторе вы увидите следующие значения:

1,592916E+6; 27,459E–5.

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

Строковые. Строка (string) в JavaScript — это просто текст. Она состоит из букв, цифр или знаков, которые идут в определенном порядке. Их закавычивают.

Отдельные языки применяют специальный вид данных в программировании, с его помощью заносят символ. Например, в языке С — char.

Указатели. Указатель — это объект, который хранит определенный адрес в памяти компьютера. Значение указателя — это физический адрес определенных данных: указатель указывает на эти данные.

Разыменовать указатель — значит взять данные по адресу, который в нём записан. Указатель объявляют со * перед именем переменной. Он может быть нулевым и не обозначать ни один объект.

Идентификационные. Конечный набор значений определяет перечисляемый тип. Как правило, его представляет список идентификаторов в объявлении типа.

Разберем пример на языке С++ (в С# и Java — аналогично):

enum Season { Spring, Summer, Autumn, Winter };

Идентификатор превратится в константу этого типа, если его добавить в перечисление.

Абстрактные. У абстрактного типа данных (АТД) есть преимущества перед остальными типами:

  1. Инкапсуляция деталей реализации. Инкапсуляция — ограниченный доступ к компонентам, из которых состоит объект. Достаточно один раз инкапсулировать, чтобы пользователь смог самостоятельно взаимодействовать с АТД через интерфейс. Представления клиентов о работе не изменятся, если детали реализаций поменяют.
  2. Пониженный уровень сложности через абстрагирование от деталей реализации. Это значит, что детали скрывают и сосредотачивают на ключевых аспектах системы.
  3. Ограниченная область, где можно использовать данные. Все данные структуры АТД не зависят от других участков кода.
  4. Понятный интерфейс с большим количеством информации.

Примеры

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

В Python используют следующие типы:

  • int — целочисленный;
  • char — символьный;
  • bool — логический;
  • float — с плавающей запятой;
  • double — с плавающей запятой двойной точности.

Освойте Python на курсе от Skypro. Вас ждут 400 часов теории и практики, достаточно десяти часов в неделю. Подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Язык программирования JavaScript содержит:

  • string — тип данных «строка»;
  • number — «число»;
  • object — тип данных, который хранит свойства и методы;
  • undefined — тип данных, значения которых не определены;
  • boolean — логический;
  • null — с «пустыми» значениями.

JavaScript можно изучить на курсе Skypro «Веб-разработчик». Программа построена от простого к сложному, в ней много практики. Уже к концу второго блока сможете самостоятельно сделать лендинг с играми на JavaScript.

Самоприменение типов данных

У типа данных может быть особенность параметризации с каким-либо другим типом, но строго подчиненная и соотнесенная с принципами абстракции и параметричности.

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

Пример. Не нужно разбирать, как устроена функция сортировки, чтобы ее использовать. Главное — получить доступ, чтобы сравнить и проанализировать данные. Тогда параметр «последовательности» станет параметрически полиморфным — сможет работать с разными видами. Такой тип определяют не для конкретных данных, а для параметров-типов. Но его можно применять как шаблон для других типов — он превращается в оператор над видами данных.

В программировании есть термины «отражение», «рефлексивность» или «интроспекция». Они означают, что программа может анализировать типы данных во время работы.

Представление в компьютере

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

Целые и вещественные числа в ячейках представлены по-разному. Положительные или неотрицательные числа представляются непосредственно, а вот существенно отрицательные целые числа — в дополнительном коде.

Главное: что такое тип данных

  • 🟩 Тип данных — это характеристика значений, которые принимает некоторая переменная или выражение.
  • 🟩 Есть семь типов данных: логические, целочисленные, с плавающей запятой, строковые, указатели, идентификационные, абстрактные.
  • 🟩 В языке Python используют пять типов, а в JavaScript — шесть типов данных.

Добавить комментарий