Jezyk Java - podstawy --------------------- Na koncowkach w laboratorium kompilator i interpretator kodu bajtowego powinny sie uruchamiac bez problemu. Na rainbow stosowne narzedzia znajduja sie w katalogu /usr/local/bin. Narzedzia sa tak oblozone odpowiednimi skryptami, ze nie jest konieczne ustawianie zadnych zmiennych srodowiskowych (w szczegolnosci nie trzeba ustawiac zmiennej CLASSPATH). Kody zrodlowe klas znajduja sie w plikach *.java. Nalezy je skompilowac za pomoca programu `javac' do plikow *.class. W Javie wykonujemy klasy; wykonanie klasy polega na wywolaniu metody statycznej `main' tej klasy. Klase wykonujemy za pomoca programu `java'. Oto przykladowa sesja: bash$ javac Witamy.java # stworzony zostanie plik Witamy.class bash$ java Witamy Hej bash$ W jezyku Java mozemy korzystac z rekurencji (zob. plik Silnia.java), z petli for takiej jak w C++ (zob. plik SilniaIter.java), petli while jak w C++ (zob. plik Wczytaj.java). Mamy tez do dyspozycji znane instrukcje: switch, continue, break. Mozna korzystac z typow podstawowych: boolean, char, byte (8 bitow), short (16 bitow), int (32 bity), long (64 bity), float (32 bity), double (64 bity). W jezyku Java sa dwa rodzaje lancuchow znakowych: String i StringBuffer. Ten pierwszy sluzy do wykonywania roznego rodzaju operacji typu wybieranie liczby, wypisywanie itp. Drugi sluzy do powiekszania swojej zawartosci (Wczytaj.java). Obiekty tworzy sie tak jak w Silnia.java. W Javie nie usuwa sie obiektow - tym zajmuje sie system, a wlasciwie jego modul zwany smieciara (odsmiecaczem, rekultywatorem itp. --- ang. garbage collector). Mozna uzywac tablic - zob. Wczytaj.java. Mozna dolaczac do danej klasy jakas inna klase, co pozwala na korzystanie z klas zdefiniowanych w roznych plikach - zob. astronauta.java i waga.java. (Plik astronauta.java kompiluje sie automatycznie). Przyklad dolaczania klas predefioniowanych w systemie znajduje sie w pliku Wczytaj.java. ------------------------------------------------------------------------------- Pelen opis bibliotek systemowych Javy znajduje sie pod adresem: http://www.mimuw.edu.pl/~alx/java/ ------------------------------------------------------------------------------- Jave mozna sciagnac z ftp://sunsite.icm.edu.pl/pub/java/linux-java/JDK-1.1.7/i386/glibc/v3/jdk_1.1.7-v3-glibc-x86-native.tar.gz dla uzytkownikow RH >=5.0 lub innego systemu opartego na glibcu 2. Ewentualnie w RH6.2 jest cos takiego w standardowej dystrybucji, co sie nazywa kafee. Tez znajdzie sie w contrib-ie ftp://sunsite.icm.edu.pl/pub/Linux/redhat-contrib/libc6/i386 lub ftp://sunsite.icm.edu.pl/pub/Linux/redhat-contrib/libc5/i386 z tym, ze z tego ostatniego to lepiej sciagnac pakiet jdk. ------------------------------------------------------------------------------- Proponowana kolejnosc ogladania plikow: - Witamy.java - Silnia.java - SilniaIter.java - astronauta.java + waga.java - Wczytaj.java ------------------------------------------------------------------------------- Cwiczenie: Napisac w Javie klase obslugujaca stos oraz prosty interfejs uzytkownika pozwalajacy na wstawianie i wyciaganie jakichs wartosci ze stosu.