Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Struktura programu w języku Java

Podobne prezentacje


Prezentacja na temat: "Struktura programu w języku Java"— 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 JVM kompilacja interpretacja 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 Program w Javie 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.

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 Pierwszy program public class Hello {
public static void main (String [ ] args) System.out.println("HELLO WORLD"); }

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[]) pisz(„HELLO WORLD"); } public static void pisz (String 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 Operatory i ich priorytety
Typ argumentu Nazwa 1 ++ -- Arytmetyczny Inkrementacja, dekrementacja + - Unarny +, unarny - ~ Całkowity Uzupełnienie bitowe ! Boole'owski Negacja logiczna (typ) Dowolny Konwersja (rzutowanie) 2 * / Mnożenie, dzielenie % Modulo (reszta) 3 Dodawanie, odejmowanie

16 << >> >>>
Priorytet Operator Typ argumentu Nazwa 3 + Łańcuchowy Konkatenacja 4 << >> >>> Całkowity Przesunięcie bitowe 5 < > <= >= Arytmetyczny Operatory relacji instanceof Obiektowy Stwierdzenie typu 6 == != Podstawowy Równe nierówne 7 & Bitowe AND 8 ^ Bitowe XOR

17 9 10 11 12 13 Priorytet Operator Typ argumentu Nazwa | Całkowity &&
Bitowe OR 10 && Boole'owski Logiczne AND 11 || Logiczne OR 12 ?: 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 Podstawowy zestaw instrukcji
Instrukcja warunkowa if Pętla while Pętla do while Pętla for Instrukcja switch

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

21 Wyrażenia logiczne (warunki)
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).

22 Instrukcja while 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?

23 Instrukcja do while 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?

24 Instrukcja for for ( wyrażenie1 ; warunek ; wyrażenie2 ) { 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.

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

26 Tablice 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.

27 Tablice jednowymiarowe
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: /* Musimy określić rozmiar tablicy, aby zaalokować potrzebny dla niej obszar pamięci*/ mojaTablica = new int[10];

28 Tablice wielowymiarowe
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];

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); } public static void rysuj_gwiazdki(int n) for (int i=0; i<n; i++ ) System.out.print("*"); System.out.println();

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<b; i++ ) for (int j=0; j<b; j++ ) System.out.print("*"); } System.out.println();

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<n; i++ ) for (int j=0; j<=i; j++ ) System.out.print("* "); } System.out.println();

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) {
Trójkąt składa się z m wierszy, przy czym każdy kolejny wiersz jest dłuższy o dwie gwiazdki i ma mniejszą o jeden liczbę spacji poprzedzających. Wygodnie jest wprowadzić metody pomocnicze do rysowania spacji i gwiazdek. public static void rysuj_spacje(int n) { for (int i=0; i<n; i++ ) System.out.print(" "); }

37 public static void rysuj_gwiazdki(int n)
{ for (int i=0; i<n; i++ ) System.out.print("* "); } public static void rysuj_trojkat(int m) for (int i=0; i < m; i++ ) rysuj_spacje(m-i-1); rysuj_gwiazdki(2*i+1); System.out.println();

38 brak pierwiastków rzeczywistych
Ćwiczenie 5 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 = b2 – 4ac Wyznacznik Pierwiastki większy od zera równy zeru mniejszy od zera brak pierwiastków rzeczywistych

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


Pobierz ppt "Struktura programu w języku Java"

Podobne prezentacje


Reklamy Google