JAVA Materiały do laboratorium I Marcin Borkowski WSEiZ marzec 2006 1 Materiały pomocnicze: 1.1 Bruce Eckel Thinking in Java Edycja Polska, Helion 2004 Wydanie 3 lub lepiej Wydanie 4 1.2 java.sun.com 1.2.1 http://java.sun.com/docs/books/tutorial/index.html - tutoriale 1.2.2 http://java.sun.com/j2se/1.5.0/docs/api/ - szczegółowy opis klas 2 Narzędzia 2.1 Java wersja 1.5 (5.0) ewentualnie 1.4: java.sun.com 2.2 Eclipse: www.eclipse.org 3 Najprostszy program wypisujący tekst Java dobra na wszystko. 3.1 Kod (w pliku JavaPowitanie.java): class JavaPowitanie System.out.println("Java dobra na wszystko!"); //wyswietla tekst 3.2 Kompilacja 3.3 Uruchamianie 3.4 Pliki.java i.class 3.5 Klasy statyczne 3.6 API klasy system -> PrintStream 3.7 Podstawowe typy danych 3.7.1 boolean, char, double, int 3.7.2 Boolean, Char, Double, Integer, String 3.8 Konstrukcje z języka C za wyjątkiem funkcji 3.9 Klasach publiczne i prywatnych a nazwy plików 4 Proste konstrukcje języka Java. 4.1 Kod: import java.io.* ; class JavaTest System.out.println("Podaj liczbe:");
i=integer.parseint(s); catch(ioexception e) return; catch(numberformatexception e) return; for(;i>=0;i--) System.out.print(i); System.out.print(' '); 4.2 Wyjątki 4.3 Import 4.4 new i Garbage Colector 4.5 Strumienie binarne i tekstowe 4.6 Konwersje typów (patrz klasy kontenerowe) 5 Tablice 5.1 Kod: class ArrayTest String s[]="styczen","luty","marzec","kwiecien"; System.out.print("Rozmiar tablicy : "); System.out.println(s.length); for(i=0;i<s.length;i++) System.out.println(s[i]); 5.2 length 5.3 Inicjalizacja 5.4 Tablica jednowymiarowa: class ArrayTest2 Double tab[]= new Double[10]; for(i=0;i<10;i++) tab[i]=i*java.lang.math.pi ; for(i=0;i<10;i++) System.out.println(tab[i]); 5.5 Bez importu 5.6 Co siedzi w pakiecie 5.7 Tablica dwuwymiarowa:
import java.util.random ; class ArrayTest3 private static final int SIZE = 10; Integer i,j; Random rand = new Random(); Integer tab[][]= new Integer[SIZE][]; for(i=0;i<size;i++) tab[i]=new Integer[SIZE]; for(i=0;i<size;i++) for(j=0;j<size;j++) tab[i][j]=rand.nextint(10); for(i=0;i<size;i++) for(j=0;j<size;j++) System.out.print(tab[i][j] + " "); System.out.print("\n"); 5.8 Stałe 5.9 Inicjalizacja 5.10 Liczby losowe 5.11 Referencje 6 Pliki 6.1 Kod: class FileTest System.out.println("Podaj nazwe pliku:"); FileInputStream f = new FileInputStream(s); System.out.write(i); catch(ioexception e)
7 URL 7.1 Kod: import java.net.*; class URLTest System.out.println("Podaj adres strony:"); URL adres = new URL(s); InputStream f = adres.openstream(); System.out.write(i); catch (MalformedURLException e) System.out.println("Niepoprawny adress URL!"); catch(ioexception e) 8 Strumień kompresji 8.1 Kod: import java.util.zip.*; class Kompresor String sin,sout; System.out.println("Podaj nazwe pliku do spakowania :"); sin=in.readline(); sout=new String(sin); sout+=".zip"; FileInputStream f = new FileInputStream(sin); ZipOutputStream zip = new ZipOutputStream(new FileOutputStream (sout)); zip.putnextentry(new ZipEntry(sin)); zip.write(i); zip.close(); catch(ioexception e)
8.2 Konwencje nazewnictwa 8.3 Łączenie stringów 8.4 Łączenie strumieni 8.5 Obiekty bez nazwy