Ćwiczenie 1 Przygotowanie środowiska JAVA Ustawianie

Transkrypt

Ćwiczenie 1 Przygotowanie środowiska JAVA Ustawianie
Przetwarzanie równoległe i rozproszone – ćwiczenie 1
Ćwiczenie 1
Przygotowanie środowiska JAVA
1. Wprowadzenie teoretyczne
Instalacja JDK (Java Development Kit)
NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŜy skonfigurować
środowisko.
Ustawianie zmiennych systemowych dla JDK
W Windows 9x, ustawiamy zmienne systemowe przez zmodyfikowanie pliku autoexec.bat,
zlokalizowanym na dysku twardym w katalogu głównym . Plik ten jest wykonywany podczas
startu systemu. Po zmodyfikowaniu pliku, aby zmiany odniosły skutek, naleŜy uruchomić go
ponownie.
Modyfikacja autoexec.bat
Musisz otworzyć plik do edycji w edytorze tekstowym (np. notepad) i dodać ścieŜkę do
katalogu /bin/ znajdującego się w katalogu, gdzie zainstalowałeś JDK.
Np. jeŜeli zainstalowałeś JDK w katalogu c:\jdk1.3\, powinieneś dodać do pliku autoexec.bat
linie, aby nie zamazać wcześniejszych wpisów stosujemy %:
set path=%path%;c:\jdk1.3\bin\
Następnie musisz zdefiniować classpath tak, aby zawierał aktualny katalog. Classpath
pomaga JDK zlokalizować klasy Java zainstalowane na komputerze. Niektóre wersje JDK i
narzędzia dostarczane z JDK nie wymagają tego, jednak zaleca się zdefiniowanie tej ścieŜki
w następujący sposób:
set classpath=%classpath%;.\
Teraz moŜna rozpocząć pisanie programu.
W Windows NT, 2000 zmienne path i classpath naleŜy dodać inaczej. Otwieramy Panel
Sterowania (Control Panel), System i później wybieramy Environment Variabes, gdzie
WS_v1.2
1
Przetwarzanie równoległe i rozproszone – ćwiczenie 1
dodajemy nasze ścieŜki do juŜ istniejących zmiennych (Path i Classpath), lub tworzymy nowe
zmienne systemowe Path i Classpath z naszymi ścieŜkami.
Narzędzia JDK
Podstawowe narzędzia Java Development Kit. Pozwalają tworzyć aplikacje.
javac- kompilator Java. Tworzy kod pośredni (bytecode)
java- interpreter Java - wykonuje skompilowane programy w Javie (zapisane juŜ w bytecode)
appletviewer- jest bardzo przydatnym narzędziem pozwalającym wykonywać i debagować
applety Java bez uŜycia przeglądarki.
javadoc- tworzy dokumentacje API (w HTML), pobierając komentarze z kodu źródłowego
jdb- narzędzie debagujace Javy
javap- dekompilator Java
jar - tworzy pliki JAR (Java Archive). Kompresuje klasy i tworzy jeden plik jar.
Przygotowanie i kompilacja programu
Program przygotowujemy w dowolnym edytorze tekstowym – plik źródłowy ma rozszerzenie
.java.
Kompilacji dokonujemy przy pomocy polecenia:
javac nazwa_pliku_źródłowegi.java
W wyniku wykonania tego polecenia powstanie plik z rozszerzeniem .class, który jest plikiem
zapisanym w kodzie pośrednim (bytecode)przeznaczonym do uruchomienia w wirtualnej
maszynie javy. Wszyskie te operacje kompilacja i uruchomienie programu wykonujemy z
linii poleceń w okienku dosowym (win9x, win2k, Win_XP).
Uruchomienie skompilowanego programu
Powstały w wyniku kompilacji plik przeznaczony jest do uruchomienia w JVM (Wirtualna
Maszyba Javy). Wykonujemy to przy pomocy polecenia w okienku dosowym:
java nazwa_pliku_skompilowanego
Program powinien zadziałać i w zaleŜności od jego funkcji powinien zaprezentować jakieś
wyniki.
WS_v1.2
2
Przetwarzanie równoległe i rozproszone – ćwiczenie 1
2. Część praktyczna
I. Przykłady prostych programów
NaleŜy wprowadzić, skompilować i uruchomić poniŜsze programy. Dokonać zmian w tych
programach aby wypisywane przez nie komunikaty były w języku polskim.
Przykład 1
W pliku o nazwie HelloWorld.java naleŜy wpisać poniŜszy kod, skompilować ten plik
i uruchomić w JVM.
class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World");
}
}
Przy kompilacji i uruchamianiu programu waŜne jest zwracanie uwagi na duŜe litery. W
wyniku wykonania programu powinien pojawić się komunikat: Hello World .
Przykład 2
W pliku o nazwie ArithmeticTest.java naleŜy wpisać poniŜszy kod, skompilować
ten plik i uruchomić w JVM.
class ArithmeticTest {
public static void main (String[] args) {
short x = 6;
int y = 4;
float a = 12.5f;
float b = 7f;
System.out.println("x rowna sie " + x + ", y rowna sie " +
y);
System.out.println("x + y = " + (x + y));
WS_v1.2
3
Przetwarzanie równoległe i rozproszone – ćwiczenie 1
System.out.println("x - y = " + (x - y));
System.out.println("x / y = " + (x / y));
System.out.println("x % y = " + (x % y));
System.out.println("a rowna sie " + a + ", b rowna sie " +
b);
System.out.println("a / b = " + (a / b));
}
}
Przykład 3
W pliku o nazwie PrePostFixTest.java naleŜy wpisać poniŜszy kod, skompilować
ten plik i uruchomić w JVM.
class PrePostFixTest {
public static void main (String args[]) {
int x = 0;
int y = 0;
System.out.println("x i y wynosza " + x + " i " + y );
x++;
System.out.println("x++ daje w wyniku " + x);
++x;
System.out.println("++x daje w wyniku " + x);
System.out.println("Ustawiamy x na 0.");
x = 0;
WS_v1.2
4
Przetwarzanie równoległe i rozproszone – ćwiczenie 1
System.out.println("------");
y = x++;
System.out.println("y = x++ (postikementacja) daje w
wyniku:");
System.out.println("x wynosi " + x);
System.out.println("y wynosi " + y);
System.out.println("------");
y = ++x;
System.out.println("y = ++x (preinkrementacja) daje w
wyniku:");
System.out.println("x wynosi " + x);
System.out.println("y wynosi " + y);
System.out.println("------");
}
}
II. Test poleceń wymienionych w punkcie „Narzędzia JDK”
NaleŜy uruchomić te polecenia, zapoznać się z opcjami, kaŜde z nich przetestować.
III. Zadanie do realizacji
Przygotować program który wykona binaryzację obrazy zasymulowanego w postaci tablicy
dwuwymiarowej 20x20 typu int. Wartości w tablicy początkowo będą przypadkowe w
zakresie od 0 do 255.
Pierwsza wersja programu powinna być przygotowana w postaci jednej klasy.
Druga wersja w postaci dwu klas, jedna przetwarzająca dane, która będzie zawierać
konstruktor inicjujący tablicę danymi przypadkowymi, metodę do binaryzacji i wypisania
danych.
Druga klasa będzie klasą główną, która będzie zawierać wywołanie wcześniej
zdefiniowanych elementów.
Uwagi:
WS_v1.2
5
Przetwarzanie równoległe i rozproszone – ćwiczenie 1
1. Deklaracja tablicy dwuwymiarowej 20x20:
int [][] obraz = new int [20[20];
2. generowanie liczb pseudolosowych z zakresu od 0 do 255:
obraz[i][j] = (int)(Math.random()*255);
3. Binaryzacja
int p=100;//Próg binaryzacji
if ( obraz[i][j] < p) obraz[i][j]=0;
else obraz[i][j]=255;
4. Wyprowadzenie wyników
System.out.println(„Wynik”+obraz[i][j]);
3. Podsumowanie
NaleŜy przygotować sprawozdanie z wykonania powyŜszych programów i testów środowiska
JDK
4. Literatura
-
WS_v1.2
Barry Boone, „JAVA dla programistów C i C++”
Materiały z wykładu
6

Podobne dokumenty