Переменные – это зарезервированное место в памяти для хранения значения. Другими словами, когда мы объявляем переменную, мы резервируем место в памяти.
В зависимости от типа переменной (целые числа, строки, байте и т.д.) выделяется определённое количество памяти.
В языке Java все типы данных делятся на две большие группы:
- Примитивные типы данных
- Ссылочное типы данных (Объекты)
Примитивные типы данных
В Java есть 8 примитивных типов данных:
byte
- 8-битное целое число
- Максимальное значение: -128 (-2 ^ 7)
- Минимальное значение: 127 (2 ^ 7 -1)
- Значение по умолчанию: 0
- Используется для экономии места в больших массивах. Чаще всего вместо int.
- Пример: byte c = 65
short
- 16-битное целое число
- Максимальное значение: -32,768 (-2 ^ 15)
- Минимальное значение: 32,767 (2 ^ 15 – 1)
- Значение по умолчанию: 0
- Используется для экономии места вместо int.
- Пример: short a = 20000, short b = -10000
int
- 32-битное целое число
- Максимальное значение: -2,147,483,648 (-2 ^ 31)
- Минимальное значение: 2,147,483,647 (-2 ^ 31 – 1)
- Значение по умолчанию: 0
- Используется для целых значений в случае, если нет дефицита памяти.
- Пример: int i = 2000000000, int h = -1500000000
long
- 64-битное целое число
- Максимальное значение: -9,223,372,036,854,775,808 (-2 ^ 63)
- Минимальное значение: 9,223,372,036,854,775,807 (-2 ^ 63 – 1)
- Значение по умолчанию: 0L
- Используется для хранения больших целочисленных значений.
- Пример: long l = 5000000000L, long k = -4000000000L
float
- 32-битное число с плавающей точкой IEEE 754
- Значение по умолчанию: 0.0f
- Используется для экономии памяти в больших массивах чисел с плавающей точкой.
Никогда не используется для хранения точных значений (например, денег). - Пример: float f = 112.3f
double
- 64-битное число двойной точности с плавающей точкой IEEE 754
- Значение по умолчанию: 0.0d
- Используется для хранения чисел с плавающей точкой (в большинстве случаев).
- Никогда не используется для хранения точных значений (например, денег).
- Пример: double d = 121.5
boolean
- В спецификации размер не указан. Зависит от типа JVM.
- Возможные значения: true/false
- Значение по умолчанию: false
- Используется для определения того, является ли условие истинным.
- Пример: boolean flag = true
char
- Символ кодировки Unicode 16-bit
- Максимальное значение: ‘\u0000’ (или 0)
- Минимальное значение: ‘uffff’ (или 65.535)
- Используется для хранения любого символа
- Пример: char c = ‘C’
Ссылочные типы данных
- К ссылочным типам данных относятся все типы данных, которые создаются с помощью конструкторов. К ним также относятся все классы, создаваемые разработчиками, например, Developer, Car, Person и т.д.
- Массивы являются ссылочными типами данных.
- Ссылочная переменная может использоваться в качестве ссылки на любой объект определённого типа данных.
- Все ссылочные типы имеют значение по умолчанию: null.
- Пример:
Developer developer = new Developer(“Java Developer”);
Литералы
Литералы – это представление фиксированных значений в виде кода. Они не требуют каких-либо вычислений. Например:
[code lang=”java”]
char c = ‘C’
[/code]
Значения int, long, short, byte могут быть выражены с помощью десятичной, шестнадцатеричной и восьмеричной систем.
Пример:
[code lang=”java”]
int decimal = 500;
int octal = 0168;
int hexa = 0x32;
[/code]
Для строк в языке Java используется класс String. String может содержать как простые символы, так и символы Unicode:
[code lang=”java”]
char c = ‘\uffff’;
String str = “\uffff”;
[/code]
В языке Java также существует ряд управляющих последовательностей для отображения некоторых символов:
\n | Новая строка (0x0a) |
\r | Возврат каретки (0x0d) |
\f | Прогон страницы (0x0c) |
\b | Возврат на символ назад (0x08) |
\s | Пробел (0x20) |
\t | Табуляция |
\” | Двойная кавычка |
\’ | Одинарная кавычка |
\\ | Обратный слэш |
\xxx | Восьмеричный символ (xxx) |
\uxxxx | Шестнадцатеричный символ UNICODE (xxxx) |
В этом уроке мы изучили основные типы данных в языке Java и литералы.
В следующем уроке мы рассмотрим различные типы переменных и примеры их использования.