1 / 25

Tworzenie i obsługa programów – przykład 3 uwagi cd.

Tworzenie i obsługa programów – przykład 3 uwagi cd. Wykorzystując różne klasy biblioteki języka Java należy pamiętać w jakim pakiecie się znajdują. Wszystkie klasy poza tymi zawartymi w pakiecie „java.lang.*” wymagają zastosowania jawnego importu pakietu (klasy) w kodzie programu.

alice
Download Presentation

Tworzenie i obsługa programów – przykład 3 uwagi cd.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tworzenie i obsługa programów – przykład 3 uwagi cd. Wykorzystując różne klasy biblioteki języka Java należy pamiętać w jakim pakiecie się znajdują. Wszystkie klasy poza tymi zawartymi w pakiecie „java.lang.*” wymagają zastosowania jawnego importu pakietu (klasy) w kodzie programu. Odbywa się to poprzez dodanie na początku kodu źródłowego linii np.: Import java.net.*; Po dodaniu takiej linii kompilator wie gdzie szukać używanych w kodzie klas. Pakiety zaczynające się od słowa „java” oznaczają zasadnicze pakiety języka Java. Niemniej możliwe są różne inne pakiety, których klasy można stosować np.: „org.omg.CORBA”. Nazewnictwo pakietów jest określone w specyfikacji języka i opiera się o domeny Internetowe. Oczywiście można tworzyć własne pakiety. Występujące w nazwie pakietu kropki oznaczają zmianę poziomu w drzewie katalogów przechowywania klas. Przykładowo „org.omg.CORBA.Context” oznacza, że w katalogu „org”, w podkatalogu „omg”, w podkatalogu „CORBA” znajduje się klasa „Context.class”; czyli zapis pakietu jest równoważny w sensie systemu plików: /org/omg/CORBA/Context.class.

  2. Tworzenie i obsługa programów – przykład 3 uwagi cd. Obserwując dalej komunikaty „wyprodukowane” przez kompilator Java łatwo zauważyć, że zapisane zostały dwie klasy: WojownikAtryda.class oraz Atryda1.class. Oddzielnie definiowane klasy zawsze będą oddzielnie zapisywane w Beta-kodzie. Po kompilacji należy uruchomić przykład 3. W tym celu wywołajmy interpretator: java Atryda1. Zdarza się czasem, że wykorzystywany Beta-kod klas pomocniczych (np. klasa WojownikAtryda.class ) znajduje się w innym miejscu dysku. Wówczas otrzymamy w czasie wywołania aplikacji błąd o niezdefiniowanej klasie. Należy wtedy ustawić odpowiednio zmienną środowiska CLASSPATH lub wywołać odpowiednio: java -cp <ścieżka dostępu do klas> NAZWA_KLASY_GŁÓWNEJ Wojownik Leto ma zbroję koloru: złotego. Wojownik Poul ma zbroję koloru: czarnego.

  3. Tworzenie i obsługa programów – aplety 1 Oprócz aplikacji możliwe jest wywołanie określonego działania poprzez aplet. Aplet jest formą aplikacji wywoływanej w ściśle określonym środowisku. Aplet nie jest wywoływany wprost przez kod klasy *.class lecz poprzez plik HTML w kodzie którego zawarto odniesienie do kodu apletu *.class, np.: <applet code=Atryda2.class width=200 height=100> </applet> Zapis ten oznacza, że w oknie o szerokości 200 i wysokości 100 będzie uruchomiony aplet o kodzie Atryda2.class. Zasadniczo aplet jest programem graficznym, stąd też wyświetlany tekst musi być rysowany graficznie. Polecenie: System.out.println(„Wojownik Leto ma zbroję koloru: złotego.”); nie spowoduje wyświetlenia tekstu w oknie apletu, lecz wyświetli tekst w konsoli Java jeśli do takiej mamy dostęp. Uruchamiając aplet należy mieć Beta-kod Javy oraz plik odwoławczy w HTML.

  4. Tworzenie i obsługa programów – aplety 2 cd. Tworząc aplet tworzymy klasę dziedziczącą z klasy Applet, wykorzystując podstawowe metody takie jak: init(), start(), paint(), stop() destroy(). Wywołując aplikację wywołujemy metodę main(), wywołując natomiast aplet wywołujemy przedstawione wyżej metody w podanej kolejności. Metody init() i destroy() są wykonywane jednorazowo (można uznać metodę init() za konstruktor apletu). Metody start(), paint(), stop() mogą być wykonywane wielokrotnie. Ponieważ aplet korzysta z klasy Applet oraz metod graficznych konieczne jest importowanie określonych pakietów.

  5. Tworzenie i obsługa programów – aplety przykład 4 To jest jedynie implementacja metody paint(), wywołanie której generuje kontekst graficzny urządzenia Graphics g, dzięki któremu możliwe jest użycie metody graficznej drawString().

  6. Tworzenie i obsługa programów – aplety przykład 4 cd. Uruchomienie apletu: appletviewer Atryda2.html lub otwarcie kodu html w przeglądarce WWW zgodnej z Java

  7. Tworzenie... aplet i aplikacja w jednym kodzie

  8. Tworzenie... aplet i aplikacja w jednym kodzie Uruchomienie z poziomu przeglądarki html:

  9. Tworzenie... Dokumentacja cz. 1; przykład 4

  10. Tworzenie... Dokumentacja cz. 2 Tworząc dokumentację HTML dla kodu z przykładu 4 należy w następujący sposób wykorzystać narzędzie javadoc: javadoc –private –author –version Atryda4.java gdzie: -private oznacza, że wygenerowana będzie dokumentacja dla wszystkich typów elementów private, protected i public; -author oznacza, że wygenerowana zostanie informacja o autorze; -version natomiast o wersji. W rezultacie otrzymuje się szereg stron w formacie HTML, wraz ze stroną startową index.html.

  11. Tworzenie... Dokumentacja cz. 3

  12. Łańcuch znaków - string String - klasa umożliwiająca stworzenie nowego obiektu typu łańcuch znaków. Nie istnieje typ podstawowy łańcucha znaków, tak więc klasa ta jest podstawą tworzenia wszystkich zmiennych przechowujących tekst. Obiekt klasy String może być inicjowany następująco: String str = „Wojownik Atryda”; String str = new String(„ Wojownik Atryda”); //i inne konstruktory klasy String. Pierwszy sposób inicjowania przez referencje jest podobny do inicjowania zmiennych typów podstawowych. Drugi sposób jest inicjowania jest jawnym wywołaniem konstruktora klasy String. Klasa String umożliwia szereg operacji na łańcuchach znaków (np. zmiana wielkości, itp.). Należy pamiętać, że tablica znaków char nie jest rozumiana jako obiekt String. Obiekt klasy String może być stworzony za pomocą tablicy znaków, np.: String str = new String(c); gdzie c jest tablicą znaków np.: char c[] = new char[10].

  13. Łańcuch znaków - string Wśród konstruktorów klasy String znajduje się również konstruktor umożliwiający stworzenie łańcucha znaków na podstawie tablicy bajtów, według podanej strony kodowej, np.: String str = new String (b, „Cp1250”); gdzie b to tablica bajtów, np.: byte b[] = new byte[10]; Warto pamiętać również o tym, że obiekt klasy String nie reprezentuje sobą wartości typu podstawowego, stąd nie można porównywać dwóch łańcuchów znaków bezpośrednio, lecz poprzez metodę klasy String: public boolean equals(Object anObject)

  14. Łańcuch znaków - string Harkoneni to mroczna rodzina. ale nie cała... Jednak ich potomnkowie potrafili się zmienić.

  15. Łańcuch znaków - string Object - klasa ta jest klasą nadrzędną wszystkich klas w Javie, tak więc tworzenie własnych typów danych będących klasami jest odwołaniem się do obiektu klasy Object. Void - przechowuje referencje do obiektu klasy Class reprezentującej typ podstawowy Void.

  16. Instrukcje sterujące/pętle: While While(wyrażenie logiczne) wyrażenie Cel: obliczyć rozproszenie wyników ocen strony internetowej; Założenia: dane wprowadzane są przez użytkownika; nie ma ograniczenia liczby ocen;

  17. Instrukcje sterujące/pętle: While Dostęp do util java.util.Scanner obliczenia

  18. Instrukcje sterujące/pętle: While Podaj liczbę obserwacji w zbiorowości:4 Podaj 3 wartość: 3 Podaj 2 wartość: 2 Podaj 1 wartość: 1 Podaj 0 wartość: 2 Średnia wynosi:2.0 Odchylenie standardowe populacji wynosi: 0.707106781 Zmienność wyników: 35.0%

  19. Instrukcje sterujące/pętle: for for(inicjowanie; wyrażenie_logiczne; krok) wyrażenie Pętla ta powoduje wykonanie wyrażenia tyle razy ile to wynika z warunku przedstawionego w wywołaniu pętli. Warunek ten polega na określeniu wartości startowej iteracji, określeniu końca iteracji oraz kroku. Dla wszystkich pętli stosować można polecenia break i continue umieszczane w ciele pętli. Polecenie break przerywa pętlę i ją kończy (następuje przejście do kolejnej instrukcji w kodzie). Polecenie continue przerywa pętle dla danej iteracji i rozpoczyna następną iterację.

  20. Instrukcje sterujące/pętle: for

  21. Instrukcja wyboru „switch” oraz warunkowa „if” • switch(wyrażenie_wyboru) { • case wartość1 : wyrażenie; break; • case wartość2 : wyrażenie; break; • case wartość3 : wyrażenie; break; • case wartość4 : wyrażenie; break; • default: wyrażenie; • Instrukcja wyboru switch powoduje sprawdzenie stanu wyrażenia_wyboru (zmiennej liczbowej) i w zależności od jej stanu (wartości) wykonywane jest wyrażenie. Słowo break oznacza przerwanie działania w instrukcji wyboru (nie jest wykonywane kolejne wyrażenie). Domyślne wyrażenie jest wykonywane dla wszystkich innych stanów niż te wymienione w ciele instrukcji. • Instrukcja warunkowa if: • if (wyrażenie_logiczne)) { wyrażenie } else { wyrażenie}; • Instrukcja warunkowa if sprawdza stan logiczny wyrażenia logicznego i jeżeli jest true • to wykonywane jest pierwsze wyrażenie, jeśli false to wykonywane jest wyrażenie po • słowie kluczowym else.

  22. Instrukcja powrotu „return” return (wyrażenie); Instrukcja powrotu return kończy metodę, w ciele której się znajduje i powoduje przeniesienie wartości wyrażenia do kodu wywołującego daną metodę. Oznacza to, że typ wartości wyrażenia instrukcji return musi być zgodny z typem zadeklarowanym w czasie definicji metody, w ciele której znajduje się instrukcja return.

  23. Instrukcje wyboru switch - przykład

  24. Instrukcje wyboru switch - przykład Ile razy zostanie wyświetlony pierwszy tekst a ile drugi?

  25. Instrukcje wyboru switch - przykład

More Related