Типы данных
на примере Java
Пару слов о Java
Java – это:
Объектно-ориентированный
Платформенно-независимый
Безопасный
Многопоточный
Высокопроизводительный язык
программирования
А также самостоятельная платформа:
то есть, набор инструментов, которые
позволяют разрабатывать и запускать
программы, написанные на Java 2
Где используется Java?
Например, в
Desktop-приложениях
WEB-приложениях
Программах для крупных компаний,
например, в банкинге (т.н. Enterprise-
сектор)
Мобильных устройствах
Играх и пр.
3
Что такое переменная?
Переменная в языках программирования – это
контейнер с определенным именем, который
содержит то или иное значение
Имя переменной – просто ссылка на какое-то
значение, хранящееся в памяти компьютера
Создавая переменную, мы резервируем
определенный участок памяти, присваивая ей
значение – заполняем этот участок
4
Создание переменной
В зависимости от типа переменной, ОС
выделяет память и решает, что в ней
может храниться
Таким образом, присваивая переменной
тип, можно хранить в ней самые разные
значения: целые, дробные числа или,
например, символы
int x = 5
тип имя присваива значен
ем ие
5
Типы данных
В компьютерных технологиях и
программировании, тип данных – понятие,
которое определяет:
значения, возможные для элемента этого типа
действия которые над таким элементом
можно проводить
смысл информации, которую элемент хранит
способ хранения этой информации
6
Типы данных в Java
Примитивные
- byte
- short
- int
- long
- float
- double
- boolean
- char
Ссылочные
7
Десятичная система
Для записи числа используется 10 цифр: 0,1,2,3,4,5,6,7,8,9
- Число 543₁₀ значит: 5 сотен + 4 десятка + 3 единицы
- Это равносильно записи 5*100 + 4*10 + 3*1, что можно
записать как 5*10² + 4*10¹ + 3*10⁰
Здесь тысячи, сотни, десятки и единицы – степени числа 10
- Единица – десять в нулевой степени
- Десять – десятка в первой степени
- Сто – десять во второй степени и т.д.
8
Двоичная система
Для записи числа используется 2 цифр: 0, 1
- Число 101₂ значит: 1*2² + 0*2¹ + 1*2⁰
- То есть, это 1*4 + 0*2 + 1*1 = 5₁₀
Двоичная система удобна для низкоуровневого
представления числа: 1 – ток есть, 0 - нет
Пример перевода из
двоичной системы в
десятичную
9
Биты и размер числа
Бит – от “binary digit” – может принимать
значения 1 или 0.
Байт – группа из 8 бит.
В Java самый маленький тип данных –
именно byte.
byte может принимать значения от
00000000 до 11111111, что соответствует
десятичным 0…255
В мире 10 типов людей: те, кто понимают
двоичную систему, и те, кто нет.
10
Сравнительная таблица
11
byte, short, int, long
byte и short используются, как правило,
для экономии памяти.
int – стандартный тип данных для
представления целого числа
long – когда просто int недостаточно
byte b = 100;
short i = -10000;
int i = 100000;
long l = 100000L;
12
float & double
Числа с плавающей запятой:
Float – для экономии памяти
Double – тип данных для вещественных
чисел по умолчанию float f = 234.5f;
double d = 123.4;
13
boolean
boolean представляет один бит
информации
Всего два возможных значения: true и false
Значение по умолчанию – false
Базовый тип в булевой алгебре
Boolean b =
true;
14
char
char представляет символ в формате
Unicode
сhar может быть представлен в виде символа: char c = ‘b’;
в виде восьмеричного: char c = ‘\077’;
или шестнадцатеричного кода: char c = ‘\u12a4’;
в виде специального символа, например, разрыв абзаца:
char c = ‘\n’;
Здесь код символа указывает на его позицию согласно
Unicode
Первые 128 символов
стандарта Unicode совпадают с
соответствующими символами US-ASCII
15
Unicode
Недавно казалось, что любой символ помещается в 7 бит,
т.е. для хранения одного символа достаточно 1 байта
Однако, в некоторых алфавитах символов больше, чем
256. Идея Unicode состоит в том, чтобы хранить 1 символ
четырьмя байтами.
Т.е. в такой кодировке помещается 232, что больше 4 млрд.
символов.
В Java используется UCS–2 (двухбайтовая кодировка)
На самом деле в таблице Unicode количество всех символов
меньше 216, и для записи символа неё выкидываются
первые два байта.
Также существует кодировка UTF–8, в
которой разные символы записываются
разным количеством байт. Наиболее
часто встречающиеся – 1 байтом, менее
встречающиеся – 2 байтами и совсем
редко встречающиеся – 3 байтами.
16
String
В дополнение к перечисленным восьми
примитивным типам, в Java есть
специальный класс String,
представляющий строку
Запись вида String s = “Hello world”;
создаст новый объект s, хранящий строку
Hello world String не
Технически,
является примитивным
типом, но он очень широко
используется в Java и
имеет специальную
поддержку на уровне языка 17
Спасибо за внимание!
18