Twitter: @grzegg
Kategoria: java, Tagi: - .

Java [02] – Struktura programu w Javie

Poprzednio pokazałem proces tworzenia i uruchamiania bardzo prostego programu w NetBeans IDE. Teraz przyszedł czas na przyjrzenie się bardziej szczegółowo stworzonemu programowi oraz na małą dawkę teorii dotyczącą struktury programów w Javie.


Ta strona jest częścią materiałów do kursu “Programowanie w Javie z elementami bioinformatyki dla poczatkujących”. Pozostałe materiały znajdziesz tutaj

Jak zbudowany jest program w Javie?

Najprostszy program w Javie składa się z jednej klasy i jednej metody o nazwie main. Metody są elementami klas, nie mogą funkcjonować poza nimi. W naszym przykładzie klasa zawierała jedną metodę, ale może ich być więcej.


Bardziej złożone programy składają się zwykle z wielu klas, każda z nich posiada jedną lub więcej metod. Aby ze sobą dobrze współpracowały, umieszczamy je we wspólnym pakiecie. Jeśli taki pakiet ma działać jako osobny program, w jednej z klas powinna być obecna metoda main, to od niej zaczyna się uruchamianie programu.


Jeszcze bardziej rozbudowane programy mogą zawierać więcej niż jeden pakiet.


Plik WitajSwiecie.java z kodem, który został stworzony poprzednio w NetBeans był umieszczony w pakiecie, choć cały program składał się z jednej klasy/pliku. Jeśli program składa się z tylko jednego pliku, deklarację pakietu można pominąć.

Struktura kodu pierwszego programu

Przypomnę wygląd świeżo wygenerowanego przez NetBeans IDE kodu:

Przyjrzyjmy się teraz bardziej szczegółowo jego strukturze.

Komentarze

Linie: 1–5, 9–12, 15–17 oraz 19 zawierają komentarze. Mogą one zawierać niemal dowolny tekst, ponieważ ta część pliku nie jest wykonywana. W komentarzach, jak sama nazwa wskazuje, można umieszczać na przykład informacje na temat działania programu i poszczególnych fragmentów kodu a także informacje o autorze etc. Innym zastosowaniem, jest (zazwyczaj chwilowe) wyłączenie fragmentu kodu.
Jak widać na powyższym przykładzie, można w różny sposób oznaczać komentarz.

// – Czyli dwa ukośniki – wszystko co znajduje się na prawo od nich traktowane jest jako komentarz. Ten typ komentarza może obejmować całą linię, albo jej część, byleby właściwy kod znalazł się po lewej stronie od ukośników. W zasadzie jest on przeznaczony dla jednolinijkowych komentarzy, ale można też użyć tego sposobu w wielu, sąsiadujących ze sobą liniach, np:
// To jest jedna linia komentarza,
// a to następna
// I jeszcze jedna

Pozostałe rodzaje komentarzy rozciągają się na wiele linijek. Wszystko co znajduje się pomiędzy znakami /* a */ traktowane jest jako komentarz. Można w ten sposób w łatwy sposób wyłączyć dłuższe fragmenty kodu. Jeśli umieścimy kod pomiędzy znakami otwierającymi i zamykającymi komentarz – nie będzie się wykonywał. Dodatkowe znaki * na początku każdej z linijek w obrębie komentarza nie są konieczne, pozwalają jednak wizualnie wyróżnić komentarz z kodu.

Trzeci rodzaj komentarzy, ograniczonych przez sekwencje znaków /** i */ obejmuje części pliku, które mogą być używane do automatycznego generowania dokumentacji programu. To jest jednak temat na osobną lekcję.

Aby program działał nie są konieczne żadne komentarze, zwiększają one jednak znakomicie czytelność kodu.

Wzorzec automatycznie generowanych komentarzy w tworzonym przez NetBeans IDE pliku źródłowym jest przechowywany w szablonie, który można zmienić wędrując do Tools->Templates a następnie edytując odpowiedni plik.

Klasy

Linia 13 zawiera deklarację klasy o nazwie `WitajSwiecie :

public class WitajSwiecie {

Zauważ, że nazwa klasy pokrywa się z nazwą pliku WitajSwiecie.java, który zawiera omawiany kod. Jest to jedna z zasad, której należy się trzymać: nazwa pliku to nazwa klasy, którą zawiera + przedłużenie .java. Wynika z tego, że jeden plik powinien zawierać jedną klasę. W zasadzie technicznie można to obejść, ale nie sprzyja to uporządkowaniu i czytelności kodu. Skoro już mowa o nazwach, to należy zaznaczyć, że nazwy klas zaczynają się z wielkiej litery, nie umieszczamy w nich spacji, lepiej też unikać „polskich” liter. Jest jeszcze kilka innych zasad rządzących nadawaniu nazw klasom, metodom itd. ale to także temat na inną okazję.

Metody

Nasz prosty program zawiera tylko jedną metodę, której zawartość mieści się także między parą znaków { i }. Deklarujemy ją w linii 18:

public static void main(String[] args) {

Łatwo zauważyć, że bloki kodu ograniczone znakami { i } mogą się zagnieżdżać (np. blok kodu metody znajduje się wewnątrz bloku klasy) i że zasada otwierania i zamykania par nawiasów jest taka sama jak w matematyce – znak zamykający zamyka najbardziej wewnętrzny nawias otwierający. W naszym kodzie zewnętrzny blok obejmuje ciało (zawartość) klasy a wewnętrzny ciało metody.

Jak poprzednio pisałem, metody to, pewne wydzielone fragmenty kodu, zazwyczaj wykonujące określone zadanie. Na razie programy, które będziemy pisać będą się składać z jednej metody, ale z czasem pokażę jak tworzyć kod zawierający wiele metod. Ponieważ każdy samodzielnie wykonywalny program w Javie, musi mieć jedną metodę o nazwie main od której zaczyna się wykonywanie programu, jedyna metoda w tym programie właśnie się tak nazywa.

Znaczenia reszty tej linii kodu wydaje się bardziej tajemnicze. Nie będę jej teraz opisywał, więcej wyjaśni się w kolejnych lekcjach, zwłaszcza przy okazji omawiania zasad tworzenia metod. Na razie przyjmijmy, że linia otwierająca metodę main po prostu powinna tak wyglądać.

Wpisana przeze mnie w metodzie main linia:

System.out.println("Witaj Świecie!”);

jest komendą oznaczającą mniej więcej: wypisz w terminalu to co jest umieszczone w nawiasie, przy czym warto w tym miejscu zauważyć, że tekst ograniczony jest znakami ". Nie używaj w tym celu pary cudzysłowów używanych w języku polskim („…”). Zauważ też, że linia z komendą kończy się znakiem średnika. W języku Java jest to obowiązkowe.

Ta strona jest częścią materiałów do kursu “Programowanie w Javie z elementami bioinformatyki dla poczatkujących”. Pozostałe materiały znajdziesz tutaj

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

Rozwiąż zadanie: * Time limit is exhausted. Please reload CAPTCHA.