Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java_L2.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
61.54 Кб
Скачать

1.2.3. Лексеми

Отже, були розглянуті пробіли (в широкому розумінні цього слова, тобто всі символи, які відповідають за форматування тексту програми) і коментар, застосовуваний для ведення пояснень до коду. Пробіли з точки зору програміста потрібні для кращого розуміння і зрозумілості читання програми для подальшого розвитку. З точки зору частини компілятора, яка відповідає за лексичний аналіз, роль пробілів і коментарів – виконувати роль розділювачів лексем, причому розділювачі далі відкидаються і не впливають на компільований код. Наприклад, всі наступні приклади оголошення змінної еквівалентні:

// Використовуємо пробіл як розділювач.

intx = 3;

// тут роль розділювача виконує переведення рядка

int

x

=

3

;

// тут розділюємо знаком табуляції

int x = 3 ;

*/

* Єдиний принципово необхідний розділювач між

* назвою типу даних int і іменем змінної x

* тут описано коментар блочного типу

*/

int /**/x=3;

Зазвичай лексеми різноманітні і саме вони визначають багато властивостей мови. Розглянемо їх види більш детально.

    1. Види лексем

Вкажемо всі види лексем в Java:

  • ідентифікатори (identifiers);

  • ключові слова (key words);

  • літерали (literals);

  • розділювачі (separators);

  • оператори (operators).

Розглянемо їх окремо.

      1. Ідентифікатори

Ідентифікатори – це імена, які надаються різним елементам мови для спрощення доступу до них. Імена мають: пакети, класи, інтерфейси, поля, методи, аргументи і локальні змінні. Ідентифікатори можна записувати символами Unicode, тобто будь-якою зручною мовою. Довжина імені необмежена.

Ідентифікатори складаються з букв і цифр. Ім’я не може починатися з цифри.Java-букви, які використовуються в ідентифікаторах, цеASCII-символиA-Z(\u0041 - \u005a), a-z (\u0061 - \u007a), а також знаки підкреслювання _ (ASCIIunderscore, \u005f) і долара $ (\u0024). Знак долара використовується тільки в автоматичній генерації коду (щоб уникнути випадкового співпаданняімен), або при використанні будь-яких старих бібліотек, в яких допускалися імена з цим символом.Java-цифри формуються зі звичайнихASCII-цифр 0-9 (\u0030 - \u0039).

Для ідентифікаторів не допускається збіг з зарезервованими словами (це ключові слова, булеві літерали true іfalseі null-літералnull).Звичайно, якщо два ідентифікатори формуються з різних букв, які мають однакове зображення (наприклад, латинська і українська букви A), то вони вважаються різними.

В цій главі вже застосовувались наступні ідентифікатори:

Character, a, b, c, D, x1, x2, Math, sqrt, x, y, i, s, PI, getRadius, circle, getAbs, calculate, condition, getWidht, getHeight, java, lang, String, Комп’ютер, COLOR_RED, _, aVeryLongNameOfTheMethod

      1. Ключові слова

abstract default if private this

boolean do implements protected throw

break double import public throws

byte else instanceof return transient

case extends int short try

catch final interface static void

char finally long strictfp volatile

class float native super while

const for new switch continue

goto package synchronized

Ключові слова goto іconst зарезервовані, але не використовуються. Це зроблено для того, щоб компілятор міг правильно відреагувати на використання цих розповсюджених в інших мовах слів. Навпаки, обидва булеві літерали true,false іnull-літерал null часто вважають ключовими словами (можливо тому, що багато засобів розробки підсвічують їх такими), однак це саме літерали.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]