Примитивные типы данных в Java

Оглавление:

Обзор примитивных типов в Java:


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


1. Булев тип boolean

Примитивный тип boolean представляет собой значения истинности через литералы true (истина) и false (ложь).

Boolean-значения

Булевы значения являются результатом всех сравнительных (relational), условных (conditional) и булевых логических операторов. Они в основном используются для управления над потоком выполнения программы.

2. Числовые типы (Numerical types)

Для улучшения читаемости числовых литералов может использоваться символ подчеркивания. Разрешается вставлять между цифрами любое количество символов подчеркивания. Нельзя ставить символ подчеркивания рядом со знаками (+, -), префиксами систем счисления (0b, 0B, 0x, 0X), десятичной точкой (.), экспонентой (e, E) и суффиксами определяющими тип данных (l, L, d, D, f, F). Также нельзя ставить символ подчеркивания перед первой и после последней цифры. Обратите внимание, что восьмеричный префикс 0 является частью восьмеричного литерала и рассматривается как его первая цифра. Числовые литералы 2_0_1_5 и 20__15 представляют собой один и тот же числовой литерал 2015.

Примеры верного использования символов подчеркивания в числовых литералах

Примеры неверного использования символов подчеркивания в числовых литералах

2.1 Целочисленные типы (Integral types)

Integer-типы и тип char все вместе называются integral-типами.

2.1.1 Символьный тип char

Тип char является беззнаковым. Его значения это беззнаковые целые, которые обозначают все 65536 (216) символов из 16-битной Unicode таблицы символов. Эта таблица включает буквы, цифры и специальные символы.

Диапазон символьных значений

Первые 128 символов Unicode-таблицы такие же как и в 7-битной ASCII таблице символов. А первые 256 символов Unicode-таблицы такие же как и в 8-битной ISO Latin-1 таблице символов.

Символьный литерал заключается в одинарные кавычки ('). Все символьные литералы имеют примитивный тип данных char. Символьный литерал представляется в соответствии с 16-битной символьной таблицей Unicode, которая включает в себя символы 8-битной ISO-Latin-1 и 7-битной ASCII. Обратите внимание, что цифры (0-9), прописные буквы (A-Z) и строчные буквы (a-z) имеют Unicode значения расположенные соответственно их порядку.

Примеры символьных литералов

Unicode символ может быть указан как четырехзначное шестнадцатеричное число (т.е. 16-бит) с префиксом \u.

Escape-последовательности (escape sequences) определяются специальные символы. Для определения символьного литерала они должны быть заключены в одинарные кавычки. Например, символьные литералы \t и \u0009 являются эквивалентными. Однако символьные литералы \u000a и \u000d не должны использоваться в исходном коде для представления новой строки и возврата каретки. Компилятор интерпретирует эти значения как терминаторы строк, что вызовет ошибку компиляции. Вам следует использовать escape-последовательности \n и \r для правильной интерпретации этих символов в коде.


Вы также можете использовать escape-последовательность \ddd чтобы указывать символьный литерал как восьмеричное значение, где вместо каждой d может быть восьмеричная цифра (0–7). Количество цифр должно быть три или меньше и восьмеричное значение не должно превышать \377; другими словами только первые 256 символов могут быть указаны в такой нотации.

Примеры \ddd escape-последовательностей

2.1.2 Целые типы (integer types): byte, short, int, long


Целые типы данных (Integer data types) охватывают следующие типы данных:  int, long, byte и short. Типы byte, short, int, long являются знаковыми.

Примитивные значения данных не являются объектами. Каждый примитивный тип данных определяет диапазон значений и операции над этими значениями с помощью операторов. Каждый примитивный тип данных имеет соответствующий ему класс-обертку (wrapper), который может быть использован для представления значения в форме объекта.

Диапазон целых значений

По умолчанию для любого целочисленного литерала используется тип int. Но если добавить к целочисленному значению суффикс L (или l), то будет использоваться тип long. Обычно используют суффикс L потому что l похож на единицу, что может вызвать путаницу. Без суффикса L long-литералы 2000L и 0L будут интерпретированы как int-литералы. Не существует прямого способа чтобы указать short и byte литерал.

В дополнение целочисленные литералы могут быть указаны не только в десятичной системе счисления, но в двоичной (основание 2, цифры 0-1), восьмеричной (основание 8, цифры 0-7) и шестнадцатеричной (основание 16, цифры 0-9 и a-f). Цифры от a до f в шестнадцатеричной системе счисления соответствуют числам от 10 до 15. Двоичные, восьмеричные и шестнадцатеричные числа указываются с префиксами оснований 0b (или 0B), 0, и 0x (или 0X) соответственно. Шестнадцатеричные цифры от a до f также могут указываться в верхнем регистре (A-F). Негативные целые (например, -90) указываются с минусом (-) в виде префикса независимо от системы счисления (например, -0b1011010, -0132, или -0X5A).

Примеры десятичных, бинарных, восьмеричных и шестнадцатеричных литералов

2.2 Типы с плавающей точкой (Floating-point Types)

Типы с плавающей точкой бывают разновидности float и double. Числа с плавающей точкой соответствуют IEEE 754-1985 binary floating-point стандарту.

Диапазон положительных значений с плавающей точкой. Применимо также и к отрицательным числам с плавающей точкой со знаком минус (-) в качестве префикса.

Ноль может быть представлен как 0.0 или -0.0. Т.к. отводимый размер для преставления числа является конечном числом битов, то некоторые числа с плавающей точкой могут быть представлены только приблизительно. Например, значение выражения (1.0/3.0) представляется только приблизительно из-за ограниченного числа битов отводимых под представление чисел с плавающей точкой.

Литералы с плавающей точкой могут быть записаны в научной нотации с помощью символа E (или e) означающего в данном контексте экспоненту.  Например, double-литерал 194.9E-2 в научной нотации интерпретируется как 194.9 × 10-2 (т.е. 1.949).

Десятичная точка и экспонента для чисел с плавающей являются опциональными и указываются при необходимости. Однако как минимум одна цифра должна быть указана.

2.2.1 float

Для литерала с плавающей точкой может быть указан тип float для этого нужно добавить к значению суффикс F (или f).

Примеры float-литералов

Для float-литералов суффикс F является обязательным, иначе они будут считаться double-литералами.

2.2.2 double

По умолчанию для литералов с плавающей точкой используется тип double. Он может быть указан явно через суффикс D (или d) для значения.

Примеры double-литералов

Комментариев нет:

Отправить комментарий