Руководство по Java Core. Типы данных.

Переменные – это зарезервированное место в памяти для хранения значения. Другими словами, когда мы объявляем переменную, мы резервируем место в памяти.

В зависимости от типа переменной (целые числа, строки, байте и т.д.) выделяется определённое количество памяти.

В языке 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 и литералы.

В следующем уроке мы рассмотрим различные типы переменных и примеры их использования.