Что такое литералы в java программе

Обновлено: 05.07.2024

Литералы представляют собою фиксированные значения (константы), которые имеют определенный тип. Более подробно о примитивных типах данных можно прочитать здесь.

Тип литерала определяется его значением. Чаще всего литералы встречаются в выражениях, параметрах функций (методов).

Примеры литералов:

2. Каким образом определяются литералы целочисленных типов?

Тип литерала компилятор распознает по его значению. По умолчанию целочисленные литералы имеют тип int . В языке Java целочисленный литерал типа int имеет разрядность 32 бита.

Пример целочисленных литералов типа int :

Пример целочисленных литералов типа long :

3. Каким образом происходит присваивание литерала переменным типов byte и short ?

Литерал типа int может присваиваться переменным типов byte , short если значение литерала находится в границах допустимых значений данных типов.

Пример. Присваивание литералов переменным типов byte и short .

Если забрать комментарии из строки

4. Как записать целочисленный литерал в восьмеричной или шестнадцатеричной системе исчисления?

Пример использования литералов в восьмеричной и шестнадцатеричной системах исчисления.

Если попробовать написать:

5. Какие особенности представления литералов с плавающей точкой в языке Java ?

Литералы с плавающей точкой могут быть представлены в стандартной или экспоненциальной форме.

Примеры литералов с плавающей запятой.

6. Каким образом представляются литералы с плавающей точкой в экспоненциальной форме?

Пример представления чисел с плавающей запятой в экспоненциальной форме:

7. Каким образом представляются литералы с плавающей точкой в шестнадцатеричной системе исчисления?

Язык Java разрешает представлять литералы с плавающей точкой в шестнадцатеричной системе исчисления. В этом случае литерал состоит из таких частей:

Пример. Представление литералов в шестнадцатеричной системе исчисления.

8. Как в Java представляются логические литералы?

В языке Java логические литералы могут быть двух значений: true или false . Логические литералы могут быть присвоены переменным типа boolean .

Пример.

9. Как в Java записываются символьные литералы?

Символьные литералы – это символы, которые поддерживают набор символов Юникод ( Unicode ). Один символ занимает в памяти 16 бит (2 байта).

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

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

10. Что такое управляющие последовательности символов?

Управляющие последовательности позволяют отображать символы, которые:

  • невозможно ввести с клавиатуры (например, символ новой строки);
  • нужно представить в восьмеричной форме;
  • нужно представить в шестнадцатеричной форме.

В Java существуют следующие управляющие последовательности символов:

Пример использования символьных литералов и управляющих последовательностей в программе.

11. Как отображаются строковые литералы?

Строковые литералы берутся в двойные кавычки.

Примеры строковых литералов.

12. Что такое идентификаторы в языке программирования Java ?

Идентификаторы используются для именования переменных, методов, классов. В языке Java идентификатор состоит из любой последовательности:

Идентификатор обязательно должен начинаться с буквы.

Язык Java распознает строчные и прописные буквы как разные. Это означает, что идентификатор с именем MAX отличается от идентификатора с именем Max – это два разных имени.

Примеры имен идентификаторов:

13. Что такое ключевые слова?

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

В языке Java определены следующие ключевые слова:

14. Какие виды комментариев существуют в языке Java ?

Комментарии разрешают сопровождать программный код объяснениями. Комментарии облегчают чтение деталей программного кода как разработчиками, так и сторонними программистами.

Целочисленные литералы - самый используемый тип в программах. Любое целочисленное значение является числовым литералом, т.е. значения 1, 5, 9, 42 и т.п. являются числовыми литералами с основанием 10. Также можно использовать восьмеричные и шестнадцатиричные значения.

Восьмиричные значения обозначаются ведущим нулем (обычные десятичные числа не могут иметь ведущий нуль). По этой причине с виду нормальное число 09 вызовет ошибку компиляции, так как выйдет за пределы диапазона от 0 до 7 допустимых восьмеричных значений.

Шестнадцатиричные значения обозначают ведущим нулём и символом x (икс). Можно использовать маленький (0x) и большой (0X) символ в числах. Диапазон допустимых цифр - от 0 до 15, где цифры от 10 до 15 заменяются буквами от A до F (можно также использовать символы от a до f в нижнем регистре).

Целочисленные литералы создают значения типа int. Если вы создали переменную типа byte или long, а значение литерала находится в диапазоне допустимых значений этих типов, то ошибки не возникает. Не возникает проблем и с типом long, у которого диапазон значений всегда больше, чем у int. Но при этом нужно явно указать, что значение литерала имеет тип long при помощи строчной или прописной буквы L. Например, 899888777666555444333L.

Целочисленное значение можно также присвоить типу char, если оно лежит в допустимых пределах.

Литералы с плавающей точкой

Числа с плавающей точкой представляют десятичные значения с дробной частью. Число можно записать в двух вариантах - в стандартной и научной форме записи. Стандартная форма - целое число, за которым следуют десятичная точка и дробная часть (например, 3.14). Научная форма записи использует стандартную форму записи числа с плавающей точкой, к которой добавлен суффикс, указывающий степенную функцию числа 10, на которую нужно умножить данное число. Для указания экспоненциальной функции используют символ E или e, за которыми следует десятичное число (положительное или отрицательное). Например, 5.07E12.

По умолчанию литералам с плавающей точкой присвоен тип double. Если вам нужен тип float, то нужно дописать символ F или f. Кстати, для double можно использовать суффиксы D или d, но в этом нет необходимости.

Также возможна запись шестнадцатиричных литерал с плавающей точкой, но на практике я не встречал подобную запись. В этом случае вместо E используется P (или p) - 0x14.3p2.

Символьные литералы

В Java символы представляют собой 16-битовые значения в наборе символов Unicode. Эти значения можно преобразовать в целые значения и применить операции сложения и вычитания. Символьные литералы обрамляются одинарными кавычками. Обычные символы можно ввести стандартным способом, например, 'c', 'a', '@'. Существуют также символы, которые следует экранировать обратным слешем, например, чтобы вывести сам символ одинарной кавычки, нужно использовать вариант '\n''. Для символа новой строки используется '\n'.

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

Для ввода шестнадцатиричного значения используют обратный слеш, символ u, за которыми следуют четыре шестнадцатиричные цифры, например, '\u0061'.

Строковые литералы

Строковые литералы - это набор символов в двойных кавычках, например, "Кот - это муж кошки". Внутри строковых литералов также можно использовать управляющие символы, например, для перевода на новую строку - "Кот\nКошка\nКотёнок".

Булевы литералы

Есть только два булевых литерала - true и false. В отличие от некоторых языков программирования, эти значения не преобразуются в числовые значения. При этом литерал true не равен 1, а литерал false не равен 0.

JDK 7

Раньше Android не поддерживал JDK 7. Сейчас поддержка имеется и стали доступны новые возможности.

В JDK 7 можно использовать целочисленные литералы в двоичной системе. Для этого нужно использовать префикс 0b или 0B:

Кроме того, в JDK 7 можно вставлять символы подчёркивания для облегчения чтения больших числовых литералов:

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

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

Значения примитивных типов данных в большинстве случаев инициализируются с помощью литералов. Давайте рассмотрим какого типа они бывают в Java.

1. Числовые литералы

1.1. Целочисленные литералы

Типы целочисленных литералов в Java:

  • десятичные
  • восьмеричные
  • шестнадцатеричные
  • двоичные - начиная с Java 7

Все целочисленные литералы представляют значения int. Если значение литерала лежит в диапазоне byte , short или char , то его можно присвоить переменной этого типа без приведения типов. Для создания литерала типа long , необходимо явно указать компилятору, дополнив литерал буквой 'l' или 'L' :

Десятичные литералы

Восьмеричные литералы

Восьмеричные литералы начинаются с 0 и используют числа от 0 до 7, например:

Шестнадцатеричные литералы

  • Шестнадцатеричные литералы создаются используя следующие символы [0-9a-fA-F]
  • Должны начинаться с 0x или 0X .
  • Разрешается использовать до 16 символов в шестнадцатеричных числах, не учитывая префикс 0x и необязательный суффикс L .

Двоичные литералы в Java 7

Для определения двоичного литерала, добавьте префикс 0b или 0B к числу. Используются числа 0 и 1. Например:

1.2. Литералы с плавающей точкой

Всем литералам с плавающей точкой по умолчанию присваивается тип double . Чтобы создать литерал типа float , нужно после литерала указать букву 'f' или 'F' .

Можно добавить символ 'D' или 'd' к double литералу, но это не обязательно:

Существует так называемая научная нотация записи вещественных чисел:

Значение этого числа равно 1.5 умножить на 10 в четырнадцатой степени.

Может использоваться строчная или прописная буква - 'e' , 'E' . Также степень может содержать знак + или -. Например:

1.3. Подчеркивание в числовых литералах

Начиная с Java 7, добавлена возможность использовать любое количество символов подчеркивания для разделения групп цифр, что улучшает читабельность.

Подчеркивание может разделять только цифры! Нельзя использовать подчеркивания в следующих местах:

  • В начале или конце числа
  • Рядом с десятичной точкой в числе с плавающей точкой
  • Перед 'F' , 'f' , 'l' или 'L' суффиксами
  • Для разделения символов префиксов

2. Boolean литералы

Значение литерала типа boolean может быть определено как true или false :

3. Символьные литералы

Для представления символов типа char в Java используется кодировка в Unicode, определяющая полный набор международных символов на всех известных языках мира.

Символьные литералы могут быть представлены в виде символа заключенного в одинарные кавычки:

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

Есть возможность присвоения числового литерала символьному типу. Числовой литерал должен находиться в диапазоне от 0 до 65535. Например:

Символ обратной косой черты может быть использован для обозначения символов не имеющих точного написания, например символ перевода строки, табуляции, backspace, двойные и одинарные кавычки:

Переменные не что иное как зарезервированные места памяти для хранения значений. Это означает, что при создании переменной Вы резервируете некоторое пространство в памяти.

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

Существует два типа данных в Java:

  • простые или примитивные типы данных;
  • ссылочные типы данных (ссылка/объект).

Содержание

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

Есть восемь типов данных, поддерживаемых Java. Основные типы данных предопределены языком и названы по ключевому слову. Теперь давайте посмотрим в деталях эти восемь базовых типов данных существующих в языке программирования Java.

Тип byte

Тип short

  • Тип данных short является 16-разрядным знаковым целым числом.
  • Минимальное значение равно -32768 (-2 15 ).
  • Максимальная величина равна 32 767 (включительно) (2 15 -1).
  • Тип short в Java может также использоваться для экономии памяти как byte. Размер short в 2 раза меньше, чем int.
  • По умолчанию — 0.
  • Пример:

Тип int

  • В языке Java тип данных int является 32-разрядным знаковым целым числом.
  • Минимальный размер int — 2 147 483 648 (-2 31 ).
  • Максимальная величина равна 2,147,483,647 (включительно)(2 31 -1).
  • Тип int обычно используется для целых значений. Если нет озабоченности по поводу памяти.
  • По умолчанию равно 0.
  • Пример:

Тип long

  • Тип данных long является 64-разрядным знаковым целым числом.
  • Минимальное значение равно — 9,223,372,036,854,775,808 (-2 63 ).
  • Максимальная величина — 9,223,372,036,854,775,807 (включительно). (2 63 -1).
  • В Java Применяется когда требуется более широкий диапазон, чем int.
  • По умолчанию — 0L.
  • Пример:

Тип float

  • Тип данных float является c одинарной точностью 32-битный IEEE 754 с плавающей точкой.
  • Тип float используется главным образом для сохранения памяти в больших массивах чисел с плавающей точкой.
  • По умолчанию — 0.0f.
  • Тип float никогда не должен применяется для точного значения, например, валюты.
  • Пример:

Тип double

  • Тип данных double является c двойной точностью 64-битный IEEE 754 с плавающей точкой.
  • Обычно используется для десятичных значений.
  • Тип double никогда не должен применяется для точного значения, например, валюты.
  • По умолчанию — 0.0d.
  • Пример:

Тип boolean

  • Тип данных boolean представляет собой один бит информации.
  • Существует только два возможных значения: true и false.
  • Предназначен для простых признаков, которые позволяют отслеживать условия true или false.
  • По умолчанию — false.
  • Пример:

Тип char

  • Тип данных char является одним 16-разрядным символом Юникода.
  • Минимальная величина равна «\u0000» (или 0).
  • Максимальная величина равна «\uffff» (или 65535 включительно).
  • В Java char нужен для хранения любого символа.
  • Пример:

Ссылочные типы данных

  • Ссылочные переменные создаются с использованием определенных конструкторов классов. Они предназначены для доступа к объектам. Эти переменные объявляются с определенным типом, который не может быть изменен. Например, Employee, Puppy и т.д.
  • Объекты класса и различные виды переменных массива подпадают под ссылочный тип данных.
  • По умолчанию в Java значение любой переменной ссылки - null.
  • Ссылочная переменная может применяться для обозначения любого объекта, объявленного или любого совместимого типа.
  • Пример:

Литералы в Java

Литерал — представление исходного кода как фиксированное значение. Оно представлено непосредственно в коде без каких-либо вычислений.

Литерал в Java можно назначить любой переменной из основного типа. Например:

Byte, int, long, и short может выражаться десятичной (основание 10), шестнадцатеричной (основание 16) или восьмеричной (основание 8) системой исчисления.

При использовании литералов в Java, префикс 0 применяться для указания восьмеричной системы, а префикс 0x указывает на шестнадцатеричную систему. Например:

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

Типы литералов String и char могут содержать любые символы Юникода. Например:

Язык Java поддерживает несколько специальных управляющих последовательностей для литералов String и char:

Обозначение Представление
\n Новая строка (0x0a)
\r Возврат каретки (0x0d)
\f Прогон страницы (0x0c)
\b Возврат на шаг (0x08)
\s пробел (0x20)
\t Табуляция
\" Двойная кавычка
\' Апостроф
\\ Обратная косая черта
\ddd Восьмеричный символ (ddd)
\uxxxx Шестнадцатеричный символ UNICODE (xxxx)

Более подробно управляющие последовательности с примерами рассмотрим в следующих уроках.

Следующий урок объясняет различные типы переменных и их использование. Это даст Вам хорошее представление о том, как они могут использоваться в java-классах, интерфейсах и т.д.

Читайте также: