Nic tak nie mobilizuje do nauki, jak szybkie rezultaty – możliwość oglądania i weryfikowania na bieżąco efektów swojej pracy. Dlatego też, proponuję naukę Javy rozpocząć od uruchomienia prostej – trywialnej – aplikacji. Przekonajmy się, że to działa!
Zanim przystąpimy do ćwiczenia musimy zainstalować JDK. Jak to zrobić opisałem w artykule „Instalujemy JDK”. W skład JDK wchodzi między innymi kompilator języka Java – program javac (javac.exe dla systemu Windows) – oraz JVM, tj. program o nazwie java (java.exe). Programy te znajdują się w podkatalogu bin instalacji JDK. Dla wygody użytkowania należy dodać do zmiennej środowiskowej PATH ścieżkę do tegoż katalogu bin, np. C:\Program Files\Java\jdk1.6.0\bin.
W pierwszym podejściu nie będziemy używali żadnego IDE. Wystarczy dowolny edytor tekstu (np. Notepad z systemu Widnows) i linia poleceń. Utwórzmy więc plik tekstowy (w dowolnym katalogu) o nazwie HelloWorld.java i treści podanej poniżej (plik koniecznie musi mieć rozszerzenie java).
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }
Powyższy kod to definicja klasy o nazwie HelloWorld, która zawiera metodę main(…), która to metoda – uruchomiona – wyświetli na standardowym wyjściu systemowym napis „Hello World!”.
Nie będziemy w tej chwili analizowali powyższego kodu w szczegółach, bo nie to jest celem ćwiczenia. Jedyne co musimy wiedzieć, to że nazwa pliku musi być dokładnie taka sama jak nazwa klasy (czyli w powyższym przykładzie HelloWorld) i ponadto plik musi mieć rozszerzenie java. Jeśli więc naszą klasę nazwaliśmy – tak jak w powyższym przykładzie – HelloWorld, to plik musi się nazywać HelloWorld.java (wielkość liter też ma znaczenie).
Program ten – zanim będzie mógł być uruchomiony – musi być skompilowany, tzn. przetworzony na na kod wykonywalny Wirtualnej Maszyny Javy. Do tego właśnie służy kompilator, tj. program javac. Uruchamiamy go wydając z linii poleceń (będąc w katalogu, w którym zapisaliśmy plik HelloWorld.java) komendę:
javac HelloWorld.java
Spowoduje to utworzenie w bieżącym katalogu nowego pliku o nazwie HelloWorld.class. Jeśli nie popełniliśmy żadnego błędu oczywiście. Tak skompilowany program uruchamiamy wydając polecenie:
java -cp . HelloWorld
Zwróćmy uwagę na kropkę po fladze -cp. Nie przeoczmy jej! Zarówno przed tą kropką jak i po niej musimy umieścić po jednej spacji. Nadejdzie czas, kiedy dowiemy się co owa flaga -cp i kropka oznaczają, ale póki co to nie jest takie ważne. Efekt powinien być taki jak pokazano poniżej.
A teraz spróbujemy zrobić to samo przy użyciu Eclipsa. Osoby lubiące kursy w formie video zapraszam do obejrzenia filmiku „HelloWorld w Eclipse IDE”. Pozostali mogą kontynuować lekturę tego artykułu.
Uruchamiamy zatem Eclipse IDE i tworzymy nowy projekt o typie Java Project, tj. z menu File wybieramy New > Other a następnie Java Project i klikamy Next.
Na następnej stronie kreatora podajemy nazwę projektu (proponuję nazwę ConsoleApp) – inne wartości pozostawiamy bez zmian – i klikamy Finish. Jeśli pojawi się okienko pokazane poniżej, to klikamy Yes. Eclipse oferuje tak wiele różnych funkcjonalności, że są one podzielone na tak zwane perspektywy. Utworzyliśmy projekt o typie Java Project, więc Eclipse zaproponował nam przełączanie się do perspektywy Java – najwłaściwszej dla pracy z projektami tego typu.
Klikamy teraz prawym klawiszem myszy na podkatalogu src naszego nowego projektu i wybieramy New > Class.
Podajemy nazwę klasy – resztę wartości pozostawiając bez zmian – i klikamy Finish. Kreator wyświetla ostrzeżenie o treści „The use of the default package is discouraged”, ale póki co ignorujemy je. Jeśli ktoś nie lubi ignorować ostrzeżeń, to niech w polu Package wpisze wartość pl.naukajavy.
Utworzenie klasy to de facto utworzenie pliku. Eclipse stara się zaoszczędzić nam pracy jak tylko może, więc nowy plik wypełnia kodem będącym pustą definicją klasy HelloWorld:
public class HelloWorld { }
Zastępujemy tę treść kodem pokazanym na początku artykułu i naciskamy klawisze Ctrl + S aby zapisać zmiany. Eclipse na bieżąco wykonuje kompilację naszego kodu i nie musimy wykonywać tego kroku explicite. Aby uruchomić go klikamy prawym guzikiem myszy na ikonie pliku w widoku projektu, albo bezpośrednio na tekście programu i wybieramy Run As > Java Application. Wynik działania programu widoczny jest w zakładce Console poniżej okna z kodem programu.
pomocny materiał dla początkujących
natomiast jedna uwaga – ortografia, pisze się „bieżący” (jest w dwóch miejscach) 😉
Popoprawiałem co nieco. Mam nadzieję, że już nie ma ortografów w tym artykule.
Bardzo fajny kurs! Zaczynam właśnie przygodę z tym językiem.
zapraszam na swoją stronę:
http://lizard1982.com/
Wpisalem w konsole javac ….java i nic… pisze ze nie rozpoznaje polecenia javac ;[
Trzeba zainstalować JDK jeśli nie działają polecenia javac i java.
Wszystko to pięknie opisane proste i zrozumiałe. Tylko mimo wykonania zgodnie z instrukcją krok po kroku nic się nie dzieje. Zarówno przy pisaniu w notatniku jak i w eclipse:
java.lang.NoClassDefFound Error: HelloWorld
Caused by: java.lang.ClassNotFoundEx ception: HelloWorld
at java.net.URLClassLoader$ 1.run(Unknown Source)
at java.security.AccessControlle r.doPrivileged(Na tive Method)
at java.net.URLClassLoader.findClass(Unkno wn Source)
at java.lang.ClassLoader.loadClass(Unkno wn Source)
at sun.misc.Launcher$AppCla ssLoader.loadClass(Unkno wn Source)
at java.lang.ClassLoader.loadClass(Unkno wn Source)
Exception in thread „main”
przy pierwszym sposobie komunikat jest inny ale też że nie działa.
No i utknęłam na samym początku. Pewnie mam coś źle zainstalowane. Proszę o pomoc
Jest to problem związany z tym że kompilator nie widzi definicji klasy HelloWorld. Upewnij się, że wydając polecenie javac katalogiem bieżącym jest katalog w którym znajduje się plik HelloWorld.java. Generalnie rzecz biorąc, instalacja jest raczej OK – nie reinstaluj JDK. Upewnij się natomiast że wszystkie kroki wykonujesz DOKŁADNIE tak jak opisałem.
Działa! wszystko dziala idealnie tak jak napisales.
Jepiej Ci idzie nic mojemu nauczycielowi informatyki bo na lekcji jak probowalem to nie dzialalo a tu i dziala i wszystko rozumiem 🙂
Świetna stronka – godna polecenia. Ciekawe i zrozumiałe artykuły. Będę częściej odwiedzał szczególnie że w październiku rozpoczynam studia zaoczne informatyczne 🙂
Nie będzie u mnie tak jak napisałeś,bo wyskakuje mi HelloWorld.java:2: expected public ststic ^void main (Srtring[] arges) {
HelloWorld.java:2: invalid method declaration; return type required
public static void^main (Srtring[] arges) {
2 errors
I nie mam pojęcia o co może chodzić.Proszę o pomoc…
Spoko tutorial, chociaż interfejsy już się sporo pozmieniały od tego czasu 🙂