Opisując język Java nie można dokładnie oddzielić pojęć dotyczących jego realizacji od pojęć charakteryzujących semantykę konstrukcji składniowych języka. Dzieje się tak w przypadku pojęcia pakiet w Javie, którego semantyka odwołuje się do takich terminów, jak zbiór klas umieszczonych w określonych plikach i katalogach pewnego systemu operacyjnego. Pojęcie pliku i katalogu tradycyjnie traktowane jest jako zewnętrzne w stosunku do pojęć języka programowania - tutaj jednak wprowadzono je na poziom języka, uzyskując co najmniej dwa ważne cele: niezależność programów od środowiska operacyjnego i ułatwienie pisania programów "rozproszonych" (np. w sieci Internet).
Mimo wystąpienia pewnych trudności, staraliśmy się w tym rozdziale zamieścić jedynie te informacje, które abstrahują od kwestii realizacyjnych języka. Opisowi realizacji poświęcono osobny rozdział pracy.
Efektem analizy semantycznej języka jest wydzielenie pewnych części, stanowiących zamkniętą całość i opisanie ich w oddzielnych punktach. I tak:
Dodatkowo, w punktach 2.9 i 2.10 opisano podprogramy (służące do łączenia kodu Javy z kodem napisanym w innych językach programowania) oraz komentarze dokumentujące, umożliwiające generowanie dokumentacji kodu programu w języku HTML.
Na koniec, przedstawimy uwagi dotyczące sposobu redagowania tekstu rozdziału.
Pojęcia wprowadzane pierwszy raz przedstawiono z użyciem czcionki pogrubionej. Dla kodu Javy użyto czcionki Courier New. Standardowe elementy języka opisywane w tekście oznaczono kursywą.
Uwaga:
Zakłada się, że Czytelnik zna podstawy programowania w językach C/C++ i w pracy pominięto dokładny opis np. operatorów, a przedstawiono raczej różnice występujące w Javie w stosunku do języka C++.
Na podstawie przykładu omówimy przyjęty w pracy sposób przedstawiania reguł składniowych:
[modyfikatory] class NazwaKlasy [extends NazwaNadklasy] [implements NazwyInterfejsów]
terminali, będących stałymi leksykalnymi nie wyróżnia się w tekście w specjalny sposób, terminale reprezentujące zmienne leksykalne oznaczono czcionką pogrubioną, nieterminale zapisujemy czcionką pochyloną i pogrubioną. Elementy opcjonalne ujmuje się w nawiasy '[' i ']'.
Termin program Javy oznacza zarówno do
aplet jak i aplikację.