Литералы. Идентификаторы. Ключевые слова. Комментарии

Литералы. Идентификаторы. Ключевые слова. Комментарии


Содержание


1. Что такое литералы?

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

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

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

5
'5'
0x8f
5.663
'x'
"This is a string"
true
false

 

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

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

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

25
-1000
073
0x25
0XF5A
0xabcd

Для того, чтобы целочисленный литерал имел тип long, нужно дополнить значения литерала символами ‘l‘ или ‘L‘.

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

25l
20000000000L
0L

 

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

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

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

byte b;
short sh;

b = -20; // работает, число -20 входит в диапазон значений типа byte
sh=1000; // работает

// ошибка, число 1000 выходит за пределы диапазона типа byte
// b = 1000;

// так же ошибка!
// sh = 50000;

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

b = 1000;

то компилятор выдаст сообщение об ошибке:

Unresolved compilation problem:
Type mismatch: cannot convert from int to byte

 

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

Для записи литерала в восьмеричной системе исчисления перед ним ставится символ ‘0‘ (ноль).

Для записи литерала в шестнадцатеричной системе исчисления нужно перед значением литерала поставить символы ‘0x‘ или ‘0X‘.

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

byte b;
short sh;
int d;
long l;

// восьмеричная система исчисления
b = -027;   // -23 в десятичной системе исчисления
sh = 0233;   // 155 в десятичной системе исчисления
d = 03546;   // 1894
l = 032451l; // 13609

// шестнадцатеричная система исчисления
b = 0x0f;   // 15 в десятичной системе исчисления
sh = 0XAF;  // 175
d = 0xabcd; // 43981
l = 0XaF90FCDEDl; // 47128235501

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

byte b;
b = 09;

то компилятор выдаст следующее сообщение об ошибке:

The literal 09 of type int is out of range
Type mismatch: cannot convert from int to byte

Это означает, что цифра ‘9’ не входит в множество цифр восьмеричной системы исчисления.

 

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

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

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

Если литералу нужно задать тип float, тогда его значение дополняется символом ‘f‘ или ‘F‘.

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

2.66
-3.390
0.3003f
239.39F
1E6
-2.3e-4
-3.3E-2f
0.3d
-0.3D

 

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

В экспоненциальной форме к стандартной форме литерала добавляется символ ‘e‘ или ‘E‘. После символа ‘e‘ или ‘E‘ следует число, которое есть степенью числа 10. На это число нужно помножить данное число.

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

double d;
d = 1.0e6;   // d = 1000000.0
d = 1.1E-2;  // d = 0.011
d = -3.9e-3; // d = -0.0039

 



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

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

  • знак ‘‘, что означает, что число отрицательное;
  • символ ‘0x‘ или ‘0X‘ (означает, что литерал записанный в шестнадцатеричной системе исчисления);
  • непосредственно число в стандартной форме записи (например 2.3);
  • символ ‘p‘ или ‘P‘;
  • целое число, которое есть степенью числа 2 на которое множится данное число.

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

double d;

d = 0XF.1P3; // d = 120.5
d = 0x1p1;   // d = 2.0
d = -0x1p3;  // d = -8.0

 

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

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

Пример.

boolean b;

b = true;
b = true == false; // b = false

 

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

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

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

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

'g'
'3'
';'
'\145'
'\u00af'

 

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

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

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

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

\uxxxx - шестнадцатеричный символ (xxxx)
\ddd   - восьмеричный символ (ddd)
\'     - одинарная кавычка
\"     - двойная кавычка
\\     - обратная косая черта
\b     - возврат на одну позицию
\f     - подача страницы
\n     - новая строка
\r     - возврат каретки
\t     - табуляция

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

char c;

c = 'g';
c = '\n';     // новая строка
c = '\"';     // двойная кавычка
c = '\u00af'; // c = '?'
c = '\145';   // c = 'e'
c++;          // c = 'f'

 

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

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

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

"Это строка символов"
"Две\nстроки"
"Тема занятия: \'Литералы\'"

 

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

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

  • строчных и прописных букв латинского алфавита;
  • цифр от ‘0‘ до ‘9‘;
  • символа подчеркивания ‘_‘;
  • символа денежной единицы (в особых случаях).

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

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

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

x
weight
a1
array1
MyClass
Max
a1b2c3

 

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

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

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

abstract       continue          for               new         switch
assert      default           goto              package      synchronized
boolean      do                if                private     this
break       double            implements        protected   throw
byte        else              import            public      throws
case        enum              instanceof        return      transient
catch       extends           int               short       try
char        final             interface         static      void
class       finally           long              strictfp      volatile

 

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

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

В языке программирования Java есть три вида комментариев:

  • однострочные комментарии, начинаются с символов ‘//‘;
  • многострочные комментарии, начинаются из символов ‘/*‘ и заканчиваются символами ‘*/‘;
  • документирующие комментарии, начинаются из символов ‘/**‘ и заканчиваются символами ‘*/‘.

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

...

// однострочный комментарий

...

/*
многострочный
комментарий
*/

...

/**
документирующий
комментарий
*/

...

 


Связанные темы