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

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




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. Які особливості представлення літералів з плаваючою комою?

Літерали з плаваючою комою можуть бути представлені в стандартній або експоненціальній формі.

За замовчуванням, літерали з плаваючою комою мають тип 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 є три види коментарів:

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

Приклади коментарів:

...

// однорядковий коментар

...

/*
багаторядковий
коментар
*/

...

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

...

 


Зв’язані теми