lab1


Laboratorium 1

Cel:

  1. Zapoznanie się ze środowiskiem programowania zgodnym z JDK 1.2

  2. Pierwsza aplikacja Javy - kompilacja i uruchamianie

  3. Korzystanie z dokumentacji Java API

  4. Budowanie obiektów; wywoływanie metod; przekazywanie argumentów do metod

  5. Pierwsza samodzielna aplikacja

Java Development Kit

Środowisko programowania JDK stanowi zestaw narzędzi do tworzenia aplikacji w języku Java. W jego skład wchodzi: wirtualna maszyna, kompilator, debugger, generator dokumentacji i inne. Narzędzia są wywoływane z linii poleceń konsoli DOS.

Poza narzędziami JDK, elementem wykorzystywanym w laboratorium będzie dokumentacja do Java API dostępna w formacie HTML. Jest ona dostępna w katalogu zawierającym JDK i można z niej korzystać posługując się dowolną przeglądarką internetową.

Pierwsza aplikacja

Aby zapoznać się ze środowiskiem JDK, procesem kompilacji i uruchamiania aplikacji napisanych w Javie, pierwszym zadaniem w ramach laboratorium będzie napisanie, skompilowanie i uruchomienie prostej aplikacji.

// kod źródłowy powinien być zapisany w pliku Hello.java

public class Hello {

public static void main(String args[]) {

System.out.println("Hello world!");

}

}

Kod może być napisany przy użyciu dowolnego edytora tekstowego (np. Notepad, WordPad) i zapisany na dysku pod nazwą zgodną z nazwą klasy i rozszerzeniem .java.

Po kompilacji kodu źródłowego, poleceniem:

javac Hello.java

otrzymujemy plik wynikowy z rozszerzeniem .class (Hello.class). W celu uruchomienia kodu należy wykonać polecenie:

java Hello

Korzystanie z dokumentacji Java API

Dokumentacja jest dostępna w katalogi, w którym jest zainstalowany pakiet JDK. W podkatalogu docs znajduje się plik index.html, który należy otworzyć w przeglądarce. Na wyświetlonej stronie znajdują się odnośniki do dokumentów dotyczących różnych aspektów technologii Javy. Między innymi znajduje się odnośnik do Java Core API. Studenci powinni się zapoznać ze sposobem odnajdywania informacji dotyczących wybranych klas, metod i atrybutów obiektów.

Jako przykład można zaproponować odszukanie informacji na temat klasy System znajdującej się w pakiecie java.lang. W przykładowej aplikacji wykorzystywany był atrybut out z tejże klasy, który był typu PrintStream z pakietu java.io.

Należy zwrócić uwagę na standard opisu poszczególnych klas i jej elementów. Całość dokumentacji została wygenerowana w sposób automatyczny na podstawie specjalnego sposobu komentowania kodu i narzędzia javadoc.

Przekazywanie argumentów do metod

Przedstawiona aplikacja ilustruje mechanizm przekazywania argumentów przy wywoływaniu metod na rzecz obiektów:

public class PassTest {

float ptValue;

public static void main (String args[]) {

String str;

int val;

// Utworzenie instancji klasy

PassTest pt = new PassTest ();

// przypisanie wartości zmiennej int

val = 11;

// próba zmiany wartości

pt.changeInt (val);

System.out.println ("Int value is: " + val);

// przypisanie wartości zmiennej String

str = new String ("hello");

// próba zmiany wartości

pt.changeStr (str);

System.out.println ("Str value is: " + str);

// przypisanie wartości składnikowi obiektu

pt.ptValue = 101f;

// próba zmiany wartości poprzez referencję do obiektu

pt.changeObjValue (pt);

System.out.println ("Current ptValue is: " +

pt.ptValue);

}

public void changeInt (int value) {

value = 55;

}

public void changeStr (String value) {

value = new String ("different");

}

public void changeObjValue (PassTest ref) {

ref.ptValue = 99f;

}

}

Przykładowy kod powinien być przepisany przez studentów, skompilowany i uruchomiony. Następnie powinno zostać omówione zachowanie się poszczególnych metod, z wyjaśnieniem różnic w zachowaniu się przekazywania zmiennych podstawowych i referencyjnych.

Samodzielna aplikacja

Jako samodzielną pracę trwającą do końca zajęć można zaproponować stworzenie klasy zawierającej metodę liczącą silnię dla zadanego argumentu. W funkcji main należy utworzyć tablicę typu int, a następnie w pętli wypełnić elementy tej tablicy wartościami funkcji silnia z argumentem równym indeksowi tablicy.

Przykładowy program może wyglądać następująco:

public class Factorial {

public int calculate(int n) {

int result = 1;

for (int i=2; i<=n; i++) {

result *= i;

}

return result;

}

public static void main(String arg[]) {

int values [] = new int[10];

Factorial fact = new Factorial();

for (int i=0; i<values.length; i++) {

values[i] = fact.calculate(i);

}

for (int i=0; i<values.length; i++) {

System.out.println("Factorial of "+i+

" equals "+values[i]);

}

}

}

Osobom, które szybciej skończyły ćwiczenie można zaproponować wersję rekurencyjną.

Studenci zaawansowani

Często zdarza się, że część studentów wykazuje pewne zaawansowanie w stosowaniu Javy. Aby zapewnić im zajęcie można zaproponować stworzenie wersji interaktywnej pobierającej wartość argumentu z linii poleceń jako argument wywołania programu lub z klawiatury (materiał wykraczający poza zakres wykładu).



Wyszukiwarka

Podobne podstrony:
lab1 12 id 258878 Nieznany
lab1 VHDL
bioinformatyczneBD lab1
Ćw lab1 Gleb wilg gleby OŚ
Architekrura Systemów Lab1
lab1
Lab1 szular
FCKU1 lab1(6na6) id 169034 Nieznany
dsp lab1 id 144058 Nieznany
Spr 1, AGH IMIR Mechanika i budowa maszyn, III ROK, Elementy automatyki przemysłowej, EAP lab1
Lab1 12 odp
Lab1(1)
Lab1 PA podstawy PSCAD v2
AKiSO lab1 id 53765 Nieznany
LAB1 4 id 258893 Nieznany
Lab1 Sprawozdanie DW
LAB1, Fizyka laborki, Fizyka (laby i inne), FizLab, fizlab, 001 WA~1
Materiały pomocnicze LAB1
lab1 PSK
Lab1 Spr 1

więcej podobnych podstron