MODU 1 RODOWISKO PROGRAMISTYCZNE 2 Modu 1 rodowisko programistyczne Zawarto jednostki Po zrealizowaniu jednostki bdziesz w stanie: uruchomi prost aplikacj z wykorzystaniem konsoli lub rodowiska programistycznego korzysta z dokumentacji prawidowo tworzy kod ródowy programów pisanych w jzyku Java Wprowadzenie do zagadnie Java to szybko rozwijajcy si jzyk programowania wysokiego poziomu 1 stworzony przez firm Sun Microsystems, jak równie) platforma su)ca do uruchamiania aplikacji. Podstawowe waciwoci 2 jzyka to: pena obiektowo, niezale)no od architektury, funkcjonalno (automatyczne zarzdzanie pamici, obsuga wyjtków, wielowtkowo, obsuga sieci, tworzenie aplikacji z wykorzystaniem GUI 3, tworzenie apletów 4 ), bezpiecze3stwo tworzonych aplikacji. PODSTAWOWE POJ$CIA Java to rozbudowana technologia obejmujca wiele aspektów programowania aplikacji. W praktyce spotykamy si z wieloma pojciami i nazwami zwizanymi z terminologi Javy. Poni)ej zostay przedstawione najczciej spotykane: 5 Java SE Development Kit 6 (JDK) zestaw narzdzi pozwalajcych na utworzenie programu kompilator, interpreter kodu bajtowego, przegldarka pozwalajca na uruchomienie apletów, dodatkowe programy narzdziowe dla standardowej wersji Javy 7, Kompilator (ang. compiler) program dokonujcy zamiany kodu ródowego na kod zrozumiay dla wirtualnej maszyny Javy (ang. bytecode), Wirtualna Maszyna Javy (ang. Java Virtual Machine JVM) "wirtualny komputer", na którym uruchamiane s programy napisane w jzyku Java, JRE (ang. Java Runtime Environment) Wirtualna Maszyna Javy wraz ze zbiorem standardowych klas. JRE jest niezbdne do uruchomienia jakiegokolwiek programu utworzonego w jzyku Java, API (ang. Application Programming Interface) kolekcja gotowych do u)ycia komponentów. W przypadku jzyka Java mamy do czynienia ze zbiorem klas i interfejsów pogrupowanych w odpowiednie pakiety. IDE (ang. Integrated Development Environment) zintegrowane rodowisko programistyczne su)ce do tworzenia, modyfikowania oraz testowania programu, Konsola, wiersz polece umo)liwia komunikacj u)ytkownika z komputerem za pomoc polece3 tekstowych. ZESTAW NARZ$DZI Do pracy z jzykiem Java niezbdne s nastpujce skadniki: Java SE Development Kit 8 1 posiada skadni oraz sowa kluczowe zrozumiae dla czowieka 2 zobacz: http://java.sun.com/docs/white/langenv/ 3 GUI (ang. Graphical User Interface) - graficzny interfejs u)ytkownika 4 aplikacja uruchamiana na stronie internetowej za pomoc przegldarki internetowej 5 zobacz: http://java.sun.com/new2java/programming/learn/unravelingjava.html 6 wersje Javy: SE (ang. Standard Edition), ME (ang. Micro Edition), EE (ang. Enterprise Edition), zobacz: ibidem 7 zobacz: http://java.sun.com/j2se 8 zobacz: http://java.sun.com/javase/downloads/
MODU 1 RODOWISKO PROGRAMISTYCZNE 3 edytor tekstu (np. notepad 9, notepad++ 10, vi 11, jedit 12 ) lub zintegrowane rodowisko programistyczne (np. JCreator 13, NetBeans 14, Eclipse 15 ) dokumentacja 16, zawierajca szczegóowy opis wszystkich klas dostpnych wraz z Jav (ang. Java API). TWORZENIE PROGRAMU Kod programu wprowadzamy w dowolnym edytorze znakowym. Utworzony w ten sposób plik ródowy w jzyku Java posiada rozszerzenie.java (np. Test.java). KOMPILACJA PROGRAMU Zadaniem kompilatora jest zamiana kodu ródowego programu na kod wykonywany przez komputer. W wyniku kompilacji powstaje program w postaci pliku wykonywalnego z rozszerzeniem.class (np. Test.class). URUCHOMIENIE PROGRAMU Uruchomienie programu sprowadza si do wydania komendy java wraz z nazw programu (np.: java Test). Program zostanie uruchomiony za pomoc Wirtualnej Maszyny Javy. JVM Windows Tekst ródowy *.java Kompilator Aplikacja (bytecode) *.class JVM Linux JVM Mac OS Rys. 1. Schemat dzia%ania programu w Javie PIERWSZY PROGRAM Kod ródowy w jzyku Java skada si z nastpujcych skadowych: komentarze pocztkowe (opis programu, autor itp.), instrukcje deklaracji pakietu bd/i instrukcje importu u)ytych klas, deklaracje interfejsu lub klasy, 9 edytor tekstu dostarczany wraz z systemem operacyjnym Windows 10 zobacz: http://notepad-plus.sourceforge.net 11 edytor tekstu dostpny w wikszoci dystrybucji systemu operacyjnego Linux 12 zobacz: http://www.jedit.org/ 13 zobacz: http://www.jcreator.com 14 zobacz: http://www.netbeans.org 15 zobacz: http://www.eclipse.org 16 zobacz: http://java.sun.com/reference/api/
MODU 1 RODOWISKO PROGRAMISTYCZNE 4 /* * PierwszyProgram * autor: Jan Kowalski (c) 2008 */ public class PierwszyProgram { public static void main(string[] args) { // Wy*wietlamy prosty napis System.out.println("Pierwszy program w Javie"); Powy)szy program zawiera klas o nazwie PierwszyProgram wraz z metod main(). Metoda ta zawiera inn metod (System.out.println()) wywietlajc tekst na monitorze. Nagówek metody zawiera informacje o nazwie, specyfikatorze dostpu, typie zwracanym przez metod oraz parametrach przekazywanych podczas jej wywoania. Cig instrukcji zawartych w metodzie ujty jest w nawiasy klamrowe, oraz oddzielony rednikami. Poszczególne elementy powy)szego programu to: /*...*/ komentarz blokowy (obejmuje zazwyczaj kilka linii), pomijany podczas kompilacji programu, public specyfikator dostpu 17 (okrela zakres widocznoci klasy) class pocztek definicji klasy, PierwszyProgram nazwa klasy 18 (zgodna z nazw pliku) static kategoria metody oznaczajca, i) mo)na j wywoa bez koniecznoci tworzenia obiektu klasy PierwszyProgram, void typ wartoci zwracanej przez metod (metoda nie zwraca )adnej wartoci), main() nazwa metody, od której rozpoczyna si dziaanie programu 19, zdefiniowana w klasie PierwszyProgram, (String[] args) parametry metody main(); kod metody umieszczony jest zawsze pomidzy nawiasami klamrowymi, //... komentarz wierszowy 20, pomijany podczas kompilacji programu, System.out u)ycie klasy System wraz ze standardowym strumieniem wyjciowym (skojarzonym domylnie z ekranem monitora), println() metoda umieszczajca a3cuch znaków w strumieniu wyjciowym. PRACA Z WIERSZEM POLECE/ Proces przygotowania kodu programu, jego kompilacji i uruchomienia mo)e zosta przeprowadzony przy u)yciu wiersza polece3 lub z wykorzystaniem zintegrowanego rodowiska programistycznego (IDE). W pierwszym przypadku nale)y: utworzy plik z kodem ródowym w dowolnym edytorze tekstowym, c:\notepad PierwszyProgram.java skompilowa kod ródowy (powstanie plik z rozszerzeniem.class), c:\javac PierwszyProgram.java uruchomi program, 17 zobacz: http://java.sun.com/docs/books/tutorial/java/javaoo/accesscontrol.html 18 Skadnia jzyka Java rozró)nia wielko stosowanych znaków (wielko liter). 19 metoda od której rozpoczyna si dziaanie programu w Javie zawsze musi mie taki sam nagówek (public static void main(string[] args)) 20 w Javie istnieje jeszcze jeden rodzaj komentarza, tak zwany komentarz dokumentacyjny. Zobacz: http://java.sun.com/j2se/javadoc/
MODU 1 RODOWISKO PROGRAMISTYCZNE 5 c:\java PierwszyProgram WYKORZYSTANIE IDE Zintegrowane rodowisko programistyczne umo)liwia wykonanie wszelkich operacji procesu tworzenia programu, poczwszy od utworzenia kodu ródowego, jego kompilacji oraz uruchomienia programu. W przykadowym IDE JCreator proces ten sprowadza si do: utworzenia pliku ródowego (File 0 New 0 File), okrelenia nazwy i lokalizacji pliku, edycji kodu programu w oknie edycyjnym, kompilacji kodu ródowego (Build 0 Compile File), uruchomienia programu (Build 0 Execute File). STOSOWANE KONWENCJE NAZW Tworzc program dobrze jest przestrzega kilku prostych zasad dotyczcych stosowania nazw klas, metod, czy zmiennych. Uatwia to znacznie póniejsz analiz kodu ródowego. Warto równie) pamita, aby u)ywane nazwy czytelnie identyfikoway element kodu programu, a jednoczenie nie byy przesadnie zwize. Poni)ej przedstawione zostay wybrane zasady, którymi nale)y si kierowa tworzc kod programu. Nazwy klas, interfejsów: rozpoczynaj si od du)ej litery, nie zawieraj znaku podkrelenia ("_"), kolejne wyrazy skadajce si na nazw rozpoczynaj si od wielkiej litery, przykady: Klient, KlientBanku. Nazwy zmiennych i metod: rozpoczynaj si od maej litery, nie zawieraj znaku podkrelenia, kolejne wyrazy skadajce si na nazw rozpoczynaj si od wielkiej litery, nazwa metody powinna okrela czynno (zazwyczaj stosuje si par wyrazów czasownikrzeczownik, bd tez sam czasownik), przykady: cena, cenatowaru, dodaj(), dodajpracownika(). Nazwy staych: skadaj si wycznie z wielkich liter, kolejne wyrazy oddzielane s znakiem podkrelenia, przykady: PODATEK, PODATEK_VAT Szczegó=owe informacje na temat konwencji stosowanych w kodzie @ród=owym programów w jazyku Java (np. wciacia, komentarze itp.) dostapne sb w sieci Internet 21. WEJCIE I WYJCIE Standardowe wejcie i wyjcie zwizane jest z aplikacj, w której wydawane s komendy (okno terminala). Dane mo)emy przekazywa do programu za pomoc dodatkowych parametrów umieszczonych w wierszu polece3 podczas wywoania programu, bd te) korzystajc z dostpnych klas pobierajcych dane od u)ytkownika w trakcie pracy programu (np. klasa Scanner). Wywietlanie informacji odbywa si za pomoc klas zwizanych ze standardowym strumieniem wyjcia. Gównie wykorzystywane s do tego celu metody print(), println() oraz printf() (np. System.out.print("Java")). Pytania sprawdzaj+ce 1. Jakie s gówne zalety jzyka Java? 2. W jaki sposób powstaj i jak s uruchamiane programy w jzyku Java? 3. Czym ró)ni si JDK od JRE? 4. Wska) ró)nice pomidzy zwykym edytorem znakowym, a IDE? 21 zobacz: http://java.sun.com/docs/codeconv/
MODU 1 RODOWISKO PROGRAMISTYCZNE 6 5. Jakie rozszerzenie posiadaj pliki ródowe, a jakie pliki skompilowane? 6. Czym jest i jak funkcj peni Wirtualna Maszyna Javy? 7. Które z wymienionych zmiennych nie s zgodne z przyjt konwencj tworzenia nazw: KolorOczu, wzrost, wiekosoby, umyjtwarz, Gimnastykaporanna, CechaCharakteruKobiety, Licznik 8. Z jakich elementów skada si kod ródowy? 9. Czy tworzc programy w Javie nale)y zwraca uwag na wielko znaków? 10. Zapoznaj si z dokumentacj do Javy. Sprawd opis klasy System oraz metod su)cych do wywietlenia informacji na standardowym wyjciu (np. print(), println() itd.). Czym ró)ni si te metody? Zadania do wykonania Zadanie 1 Ustalenie wersji Javy Sprawd, czy posiadasz zainstalowany JDK oraz uzyskaj informacj o numerze wersji kompilatora. Rozwi*zanie Przejd do trybu wiersza polece3 22, a nastpnie wywoaj kompilator (javac 23 ) oraz Wirtualn Maszyn Javy (java). Poprawne uruchomienie programów powinno skutkowa wywietleniem listy dostpnych parametrów. Odszukaj na licie parametr odpowiedzialny za wywietlenie numeru wersji, a nastpnie uruchom programy ponownie wraz z tym parametrem. Zadanie 2 PierwszyProgramKonsola.java Napisz, skompiluj oraz uruchom program wywietlajcy na ekranie napis "Uniwersytet Ekonomiczny w Krakowie". Wykorzystaj edytor znakowy oraz polecenia wydawane z konsoli. Zadanie 3.ledzenie procesu kompilacji Dokonaj kompilacji programu PierwszyProgramKonsola.java stosujc parametr verbose. Jakie komunikaty generuje kompilator? Zadanie 4 Lokalizacja plików binarnych W katalogu, w którym znajduje si plik PierwszyProgramKonsola.java utwórz nowy folder o nazwie Programy. Nastpnie dokonaj kompilacji programu PierwszyProgramKonsola.java w taki sposób, aby plik wykonywalny PierwszyProgramKonsola.class zosta utworzony w katalogu Programy. Rozwi*zanie Zapoznaj si z parametrami kompilatora. Uruchom proces kompilacji stosujc odpowiedni parametr. Zadanie 5 PierwszyProgramIDE.java Wykonaj polecenia zawarte w zadaniu PierwszyProgramKonsola.java. Wykorzystaj dowolne IDE. Zadanie 6 Choinka.java Metoda println() umo)liwia wyprowadzanie danych na konsol. Napisz program wywietlajcy na ekranie poni)sz choink. * *** ***** ******* 22 W systemie operacyjnym Windows (2000,XP) z menu Start wybierz opcj Uruchom, nastpnie wpisz cmd i nacinij Enter. 23 Brak dostpu do kompilatora z trybu wiersza polece3 mo)e by zwizany z ustawieniem odpowiedniej cie)ki w zmiennej rodowiskowej PATH.
MODU 1 RODOWISKO PROGRAMISTYCZNE 7 Zadanie 7 Inicjaly.java Napisz program wywietlajcy na ekranie inicjay (pierwsze litery imienia i nazwiska). Przykadowy rezultat podano poni)ej. *** * * * * ***** * * * * * * ***** Zadanie 8 Kot.java Poni)szy program nie kompiluje si. Popraw bdy oraz wygld kodu ródowego. // Kot autor: Piotr Nowak (c) 2008 */ public clas kot { public void Main(String[] args) / Kocie my*lenie system.out.println("mrucza, wiac jestem... ") Zadanie 9 WlasciwosciSrodowiska.java Poni)szy program wywietla na konsoli numer wersji JRE. Zapoznaj si z dokumentacj klasy java.lang.system, a nastpnie uzupenij program, aby wywietla na ekranie dodatkowo wersj JVM, nazw katalogu instalacyjnego Javy, nazw i numer wersji systemu operacyjnego, nazw u)ytkownika, nazw katalogu bie)cego oraz znak ko3ca linii. public class Wlasciwosci { public static void main(string[] args) { System.out.println("Wersja JRE:" + System.getProperty("java.version")); Zadanie 10 LiczbaPseudolosowa.java Zapoznaj si z dokumentacj klasy java.lang.math. Znajd metod generujc liczb pseudolosow z zakresu <0,1). Napisz program wywietlajcy tak liczb. Uruchom program kilka razy. Jakie uzyskujesz wyniki? Zadanie 11 Odszukaj w witrynie http://java.sun.com dowolny kod programu. Skopiuj go na swój komputer. Dokonaj jego kompilacji, a nastpnie uruchom utworzony program. Zadanie 12 Zapoznaj si z dokumentem zawierajcym opis konwencji stosowanych podczas pisania kodu ródowego programu w Javie. Sprawd, czy utworzone wczeniej programy zgodne s z wymogami konwencji. Dokonaj niezbdnych modyfikacji, jeli zachodzi taka potrzeba.