Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Struktura programu w języku Java mgr inż. Sylwia Glińska.

Podobne prezentacje


Prezentacja na temat: "Struktura programu w języku Java mgr inż. Sylwia Glińska."— Zapis prezentacji:

1 Struktura programu w języku Java mgr inż. Sylwia Glińska

2 Zagadnienia: Ogólna budowa programów w języku Java Kompilacja i interpretacja kodu w języku Java Typy wbudowane w języku Java Podstawowe instrukcje w języku Java

3 Zasada działania kompilacja JVM Pliki *.java Pliki *.class interpretacja

4 Edytory Zintegrowane środowiska programistyczne Javy Borland JBuilder – Eclipse – IBM VisualAge for Java – JCreator – Kawa – NetBeans – Sun Forte for Java – Sun One Studio – VIM –

5 Każdy program w Javie jest zestawem klas. Klasa jest podstawową jednostką enkapsulacji (nie można pisać kodu poza definicją klasy). Pisany przez nas program może być zapamiętany w jednym lub wielu plikach źródłowych o rozszerzeniu "java". Należy przestrzegać następującej konwencji dotyczącej nazewnictwa – nazwa klasy głównej powinna być zgodna z nazwą pliku, który przechowuje program. Program w Javie

6 Aplkacje i aplety Wyróżniamy dwa rodzaje programów: aplikacje (standalone programs) aplety (applets). Aplikacje mogą działać zarówno w trybie graficznym jak i tekstowym. Aplety działają jedynie w środowisku graficznym. Aby zobaczyć działanie aplikacji musimy mieć zainstalowaną w naszym komputerze wirtualną maszynę Javy – JVM. Aplety są wykonywane przez środowisko przeglądarek; są one widoczne wtedy, gdy przeglądarka posiada zintegrowaną wirtualną maszynę Javy.

7 Kompilacja Kompilator Javy wymaga, aby pliki źródłowe miały rozszerzenie "java". Pliki źródłowe są kompilowane za pomocą kompilatora Javy (javac.exe) do postaci kodu bajtowego (pośredniego), a nie kodu maszynowego. Polecenie kompilacji pliku źródłowego ma postać: javac nazwa_pliku.java Wynikiem kompilacji są pliki z rozszerzeniem "class", które mogą być wykonane przez maszynę wirtualną Javy. Podczas kompilacji pliku źródłowego każda klasa zostaje przeniesiona do swojego własnego pliku o nazwie właściwej zgodnej z nazwą klasy i rozszerzeniu "class".

8 Aplikacja Aby aplikacja mogła zostać uruchomiona, główna klasa musi zawierać metodę public static void main(String args[]) Maszyna wirtualna Javy jest wywoływana za pomocą polecenia java z argumentami: nazwa pliku o rozszerzeniu "class" zawierającego metodę main() oraz argumenty wywołania tej metody, np.: java nazwa_pliku [arg1 arg2 …] Po załadowaniu klasy przez JVM sterowanie zostaje przekazane do metody main() i tu zaczyna się właściwe działanie programu: tworzenie obiektów, odwołania do innych klas aplikacji.

9 public class Hello { public static void main (String [ ] args) { System.out.println("HELLO WORLD"); } Pierwszy program

10 Jak działa nasz program? Po załadowaniu klasy Pierwsza.class przez JVM sterowanie zostaje przekazane do metody main(). W naszym przykładzie metoda ta jest zdefiniowana z jednym parametrem; jest nim tablica args typu String. Dzięki temu możliwe jest przekazanie parametrów do aplikacji. Są one umieszczane w kolejnych elementach tej tablicy: args[0], args[1], args[2], itd. Liczbę przekazanych parametrów można uzyskać za pomocą metody length(), na przykład: int liczbaParametrów = args.length(); Metoda main() zawiera jedynie jedno polecenie System.out.println();

11 Pakiety Java dostarcza nam do dyspozycji tzw. pakiety - są to swoiste biblioteki klas, przy czym każda klasa w Javie należy do jakiegoś pakietu; zdefiniowana przez nas klasa należy do pakietu "bez nazwy" (domyślnego), definiowanego przez środowisko. Pakiety poza grupowaniem klas pełnią również rolę porządkującą i chronią przed kolizjami nazw. Jednym ze standardowych pakietów, nie wymagających deklaracji, jest pakiet java.lang, zawierający główne klasy języka Java.

12 Metoda println() W klasie System pakietu java.lang zadeklarowano statyczne pole out związane ze standardowym wyjściem. Z polem tym związana jest metoda println(), która wypisuje na wyjściu wiersz podany jako argument. Czyli wynikiem działania programu będzie wypisanie na ekranie monitora pozdrowienia: HELLO WORLD".

13 Modyfikacja programu class Hello1 { public static void main (String args[]) public static void main (String args[]) { pisz(HELLO WORLD"); pisz(HELLO WORLD"); } public static void pisz (String s) public static void pisz (String s) { System.out.println(s); System.out.println(s); } }

14 Jaka jest różnica? Wynik działania naszej aplikacji jest dokładnie taki sam jak poprzednio, wywołanie w metodzie main() metody pisz() z parametrem Hello world" oznacza polecenie wypisania podanego tekstu na ekranie monitora. Jedyna różnicą jest to, iż tym razem zdefiniowaliśmy w naszej klasie dwie metody - metodę główną sterującą działaniem aplikacji oraz metodę pomocniczą, służącą do wypisywania linii tekstu na ekranie.

15 15 Operatory i ich priorytety PriorytetOperatorTyp argumentuNazwa Arytmetyczny Inkrementacja, dekrementacja + -Arytmetyczny Unarny +, unarny - ~Całkowity Uzupełnienie bitowe !Boole'owski Negacja logiczna (typ)Dowolny Konwersja (rzutowanie) 2 * /Arytmetyczny Mnożenie, dzielenie %Arytmetyczny Modulo (reszta) 3 + -Arytmetyczny Dodawanie, odejmowanie

16 16 PriorytetOperatorTyp argumentuNazwa 3 +Łańcuchowy Konkatenacja 4 > >>>Całkowity Przesunięcie bitowe 5 =Arytmetyczny Operatory relacji instanceofObiektowy Stwierdzenie typu 6 == !=Podstawowy Równe nierówne == !=Obiektowy Równe nierówne 7 &Całkowity Bitowe AND 8 ^Całkowity Bitowe XOR

17 PriorytetOperatorTyp argumentuNazwa 9 |Całkowity Bitowe OR 10 &&Boole'owski Logiczne AND 11 ||Boole'owski Logiczne OR 12 ?:Boole'owski Operator warunku 13 = *= /= += -= %= Zmienna, dowolny Operatory przypisania

18 Typy danych w Javie Java jest językiem ze ścisłą kontrolą typów, w którym rozmiar i postać danych są określone bardzo precyzyjnie. Typy danych w Javie można podzielić na dwa rodzaje: typy proste i typy referencyjne (klasy, interfejsy i tablice). Do przechowywania liczb całkowitych przeznaczone są cztery typy: byte (8 b), short (16 b), int (32 b) oraz long (64 b). Rzeczywiste typy liczbowe to: float (32 b) i double (64 b). Dane znakowe zapisywane są zgodnie ze standardem Unicode - są to 16-bitowe liczby całkowite bez znaku. Do ich przechowywania służy typ char. Typ boolean (1 b) umożliwia przechowywanie wartości logicznych. Może on przyjmować tylko dwie wartości: true i false.

19 19 Instrukcja warunkowa if Pętla while Pętla do while Pętla for Instrukcja switch Podstawowy zestaw instrukcji

20 if (warunek) { instrukcje } else { instrukcje } Postać instrukcji if

21 Wyrażenia logiczne można przypisywać zmiennym typu boolean. Ich wartością może być true lub false. Proste wyrażenia logiczne konstruuje się za pomocą operatorów relacji:, =, == (czy równe), != (czy różne). Do budowy bardziej złożonych wyrażeń używa się operatorów logicznych: && (koniunkcji – logiczne AND), || (alternatywy – logiczne OR), ! (negacji – logiczne NOT). Wyrażenia logiczne (warunki)

22 while ( warunek ) { instrukcje } Przykład pętli while (dopóki) while ( samochód jest brudny ) { myj_samochód( ); } Ile razy wykona się instrukcja wewnętrzna pętli, gdy samochód jest czysty? Instrukcja while

23 do { instrukcje } while ( warunek ); Przykład pętli do (wykonuj dopóki) do { myj_samochód( ); } while (samochód jest brudny); Ile razy wykona się instrukcja wewnętrzna pętli, gdy samochód jest czysty? Instrukcja do while

24 for ( wyrażenie 1 ; warunek ; wyrażenie 2 ) { instrukcje } Przykład pętli for (dla) for ( int i=0; i<10; i++) { myj_samochód( ); } Zmienną i nazywamy zmienną sterującą pętli. Zasięg działania zmiennej i jest ograniczony do pętli for. Instrukcja for

25 switch ( wyrażenie) { case Wartość1 : /*... */ break; case Wartość2 : /*... */ break; default : /*... */ break; } Instrukcja switch

26 26 Tablica - to ciąg zmiennych tego samego typu, opisanych jedną wspólną nazwą. Elementy tablicy identyfikuje się je za pomocą indeksów. Dostęp do poszczególnych elementów tablicy odbywa się za pomocą operatora indeksowania []. Indeksy są liczone od zera. Tablica jednowymiarowa odpowiada matematycznemu pojęciu wektora, dwuwymiarowa – macierzy. Tablice w języku Java są zaimplementowane jako obiekty, więc nie mogą być deklarowane statycznie. Tworzenie tablicy składa się z dwóch etapów: deklaracja zmiennej referencyjnej tablicy utworzenie nowego obiektu tablicy i przypisanie go do danej zmiennej tablicowej. Tablice

27 27 Przykład instrukcji tworzących tablice: int[] mojaTablica = new int[10]; int mojaTablica[] = new int[10]; Tablicę można też utworzyć w dwóch etapach: najpierw deklarujemy zmienną referencyjną tablicy: int[] mojaTablica ; lub int mojaTablica[]; następnie tworzymy nowy obiekt tablicy: Tablice jednowymiarowe /* Musimy określić rozmiar tablicy, aby zaalokować potrzebny dla niej obszar pamięci*/ mojaTablica = new int[10];

28 28 Java obsługuje tablice wielowymiarowe, kóre posiadają dwa lub więcej indeksów. Ogólna postać instrukcji tworzącej tablicę wielowymiarową ma postać: typ[][]... [] nazwa = new typ[roz1][roz2]... [rozN]; Przykład instrukcji tworzącej tablicę o dwóch wymiarach (jest to najczęściej używana forma tablicy wielowymiarowej) : int[][] A = new int[10][10]; lub int A[][] = new int[10][10]; Tablice wielowymiarowe

29 Ćwiczenie 1 Napisz program, który wyświetli n znaków "*" w jednym wierszu, gdzie n jest parametrem funkcji. Oto nagłówek funkcji: public static void rysuj_gwiazdki( int n ) Spróbuj użyć tej funkcji dla różnych parametrów.

30 Rozwiązanie public static void main (String args[]) { rysuj_gwiazdki(10); rysuj_gwiazdki(10);} public static void rysuj_gwiazdki(int n) { for (int i=0; i

31 Ćwiczenie 2 Napisz funkcję rysującą prostokąt o zadanych wymiarach, który składa się z samych gwiazdek. Na przykład po wywołaniu tej funkcji z parametrami 8 i 3 powinniśmy dostać: * * * * * * * * * * * * * * * * * * * * * * * * Oto nagłówek funkcji public static void rysuj_prostokat( int a, int b )

32 Rozwiązanie public static void rysuj_prostokat(int a, int b) { for (int i=0; i

33 Ćwiczenie 3 Napisz funkcję rysującą trójkąt z gwiazdek. Wysokość trójkąta ma być podawana jako parametr. Na przykład po wywołaniu funkcji z parametrem 4 powinniśmy otrzymać następujący rysunek: * * * * *

34 Rozwiązanie public static void rysuj_trojkat(int n) { for (int i=0; i

35 Ćwiczenie 4* Zmodyfikuj program rysujący trójkąt tak, aby rysował trójkąty równoramienne. Na przykład po wywołaniu funkcji rysuj_trójkat z parametrem 4 powinniśmy otrzymać następujący rysunek: * * * * * * * * * * * * * * * *

36 Rozwiązanie public static void rysuj_spacje(int n) { for (int i=0; i

37 public static void rysuj_gwiazdki(int n) { for (int i=0; i

38 WyznacznikPierwiastki większy od zera równy zeru mniejszy od zera brak pierwiastków rzeczywistych Napisz program wyznaczający pierwiastki równania kwadratowego dla danych współczynników a, b i c. Przykładowy nagłówek funkcji: static void prk( int a, int b, int c ) Wyznacznik = b 2 – 4ac Ćwiczenie 5

39 Napisz program sprawdzający czy podana liczba jest liczbą parzystą. Ćwiczenie 6


Pobierz ppt "Struktura programu w języku Java mgr inż. Sylwia Glińska."

Podobne prezentacje


Reklamy Google