Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję

Podobne prezentacje


Prezentacja na temat: "Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję"— Zapis prezentacji:

1 Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję do nich pole length przechowuje aktualny rozmiar tablicy (ilość elementów)

2 Tablice zmienne tablicowe deklarowane są za pomocą operatora [] ilość par nawiasów [] określa wymiar tablicy w Javie tablice wielowymiarowe implementowane są jako tablice tablic

3 Tablice deklaracja tablicy nie alokuje pamięci dla samej tablicy, pamięć jest alokowana w wyniku inicjalizacji lub zastosowania operatora new rozmiar tablicy może być ustalony dynamicznie w czasie wykonania programu w Javie indeksy tablic są wartościami typu int i zaczynają się od 0

4 Przykłady boolean tab2[]; // inna postać deklaracji int[] tab3 = { 3, 5, 7, 9 }; // deklaracja i inicjalizacja int[] tab4 = { 3, 5, 7, 9, }; // końcowy przecinek dopuszczalny char[] tab5 = new char[10]; // deklaracja i alokacja tablicy 10-elem. char tab6[] = new char[n]; // deklaracja i dynamiczna alokacja tablicy

5 Przykłady int[][] tab7; // deklaracja tablicy 2- wymiarowej int[] a, b[]; //deklaracja 1-wym. tablicy a i 2-wym. tablicy b int[][] tab8 = { { 1, 2 }, { 3, 4 } };

6 Przykłady dostęp do elementów tablicy uzyskuje się poprzez operator [] int x; int y; int[][] a = { { 1, 2 }, { 3, 4 } }; int b[][] = { { 1, 2 }, { 3 }, {} }; int [ ] [ ] tabnxm=new int [n] [m];

7 Przykłady a[0][0] = 0; x = a[1][1]; y = b.length; // y = 3; y = b[0].lenght; // y = 2; y = b[1].length; // y = 1; y = b[2].lenght; // y = 0;

8 Tablice elementów obiektowych deklaracja tablicy i utworzenie obiektu tablicowego Button[ ] btab = new Button[n]; elementy tablicy są obiektami wobec czego wymagają tworzenia for ( int i=0 ; i < btab.length ; i++) btab[ i ] = new Button("Przycisk "+i); inicjalizacja tablicy obiektów Button b[ ] = { new Button("A"), new Button("B"), new Button("C") } ;

9 Operatory operator realizuje pewną funkcję (działanie) na związanych z nim argumentach w języku Java występują operatory jedno-, dwu- i trójargumentowe

10 Operatory operator może być zapisany przed swoimi argumentami - notacja prefiksowa (przedrostkowa) za argumetami - notacja postfiksowa (przyrostkowa) w przypadku dwu argumentów pomiędzy nimi - notacja infiksowa (wrostkowa)

11 Operatory jeżeli argument jest w zasięgu działania kilku operatorów o kolejności wykonywania działań decyduje ustalony priorytet tych operatorów

12 Funkcje matematyczne - klasa Math abs(x) wartość bezwzględna x sqrt(x) pierwiastek kwadratowy z x pow(x,y) x do potęgi y exp(x) liczba e do potęgi x log(x) logarytm naturalny z x min(x,y) mniejsza z liczb x, y max(x,y) większa z liczb x,y sin(x), cos(x), tan(x) asin(x), acos(x), atan(x)

13 Korzystanie z klasy Math Miesieczna rata obliczana jest zgodnie z wzorem: /* Program rata.class pobiera wysokosc pozyczki, roczna stope oprocentowania i ilosc lat; zwraca miesieczna rate pozyczki i splacona kwote z procentem; wywołanie: java rata */ class rata { public static void main(String[] args) { if (args.length!=3) { System.out.println("Wywolanie: java rata "); System.exit(1); }

14 double kwota=Double.valueOf(args[0]).doubleValue(); double proc=Double.valueOf(args[1]).doubleValue(); double lata=Double.valueOf(args[2]).doubleValue(); if (kwota<=0) { System.out.println("Ujemna kwota pozyczki"); System.exit(1); } if (proc =100) { System.out.println("Bledna wartosc procentu"); System.exit(1); } if (lata =20) { System.out.println("Bledna ilosc lat"); System.exit(1); } double licz=kwota*proc/1200; double mian=1-Math.exp(lata*(-12)*Math.log(1+proc/1200)); double ratam=licz/mian, splata=ratam*lata*12; System.out.println("Miesięczna rata pozyczki: "+ ratam); System.out.println("Kwota pozyczki z procentem: "+ splata); }}

15 Przykład

16 Łańcuchy wszystkie znaki Unikodu ujęte w podwójny cudzysłów traktowane są przez kompilator jako wartości typu String ciągi znaków mogą być dowolnej długości łańcuchy w Javie (obiekty klasy String ) są stałe tzn. nie można ich modyfikować!

17 Łańcuchy można tworzyć nowe napisy z już istniejących zmieniając jednocześnie ich treść instrukcja realizująca konkatenację (sklejanie) łańcuchów postaci: napis = napis + " i psa"; -pod zmienną napis, która jest referencją do obiektu klasy String, podstawione zostanie wskazanie do nowego obiektu klasy String, który będzie zawierał poprzednią treść z dodanym tekstem " i psa" ("stary" obiekt - niezmieniony - zostanie usunięty przez moduł czyszczenia pamięci)

18 Konwersja łańcuchów w liczby Metoda valueOf(…) klasy Double, Integer, String, przeprowadza odpowiednie konwersje: String double Double.valueOf(String).doubleValue(); String int Integer.valueOf(String).intValue(); int String String.valueOf(int); //nie zgłasza wyjątków

19 import java.io.*; /* napiwek.class - oblicza napiwek na podstawie sumy rachunku i procentu napiwku */ class napiwek { public static void main(String[] args) { String linia="";//zmienna do pobierania danych z klawiatury double rach=0,napiwek=0; int procent=0; BufferedReader we=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Wpisz sume rachunku: "); System.out.flush(); try{ linia=we.readLine();//pobranie danych z klawiatury } catch (IOException e) {System.out.println(e+". Blad we"); System.exit(1);} }

20 //przeksztalcamy lancuch w liczbe double: rach=Double.valueOf(linia).doubleValue(); System.out.print("Wpisz procent napiwku: "); System.out.flush(); try{ linia=we.readLine();//pobranie danych z klawiatury } catch (IOException e) {System.out.println(e+". Blad we"); System.exit(1);} //przeksztalcamy lancuch w liczbe int: procent=Integer.valueOf(linia).intValue(); napiwek=rach*((double)procent/100.0); System.out.println("Rachunek wraz z napiwkiem: "+ ( rach+napiwek ) ); // konieczne nawiasy!!! }}

21

22 Instrukcje instrukcja jest elementarną jednostką wykonywania programu w programach w języku Java każda instrukcja zakończona jest średnikiem ";

23 Instrukcja grupująca - blok Składnia: { instrukcja1 instrukcja2... instrukcjaN } instrukcje mogą być zgrupowane w blok instrukcji za pomocą nawiasów klamrowych konstrukcje taką stosuje się wszędzie tam, gdzie składnia języka przewiduje jedną instrukcję, a chce się wykonać więcej niż jedną instrukcję

24 Operacje we/wy – klawiatura/ekran Metody print, println zawarte w obiekcie strumieniowym System.out Strumienie – zarządzają przesyłaniem danych z programu do urządzeń fizycznych (pliki, drukarki, ekrany) metoda readLine pobiera dane wejściowe z obiektu BufferedReader i zwraca łańcuch readLine może zgłosić wyjątek IOException (błąd operacji we), który należy przechwycić za pomocą konstrukcji try - catch

25 Wyświetlanie tekstu na ekranie /* konwert.class - podaje wybrane konwersje jednostek */ class konwert {public static void main(String[] args) { double mi_na_km=1.609; double kg_na_lbs=2.2; System.out.print("1 mila to:\t"); System.out.print(mi_na_km); System.out.println(" kilometrow"); //Lancuchy mozna łaczyc za pomoca operatora + System.out.println("1 kg to:\t"+kg_na_lbs+" funtow"); } }

26 Przykład

27 INSTRUKCJE STERUJĄCE instrukcja if składnia: if (wyrażenie-logiczne) instrukcja instrukcja if służy do warunkowego wykonania innej instrukcji najpierw obliczane jest wyrażenie-logiczne i jeśli jego wartością jest true, to wykonywana jest instrukcja w przeciwnym razie wykonywana jest następna instrukcja po instrukcji if

28 instrukcja if-else składnia: if (wyrażenie-logiczne) instrukcja1 else instrukcja2 instrukcja if-else służy do warunkowego wykonania jednej z dwu instrukcji najpierw obliczane jest wyrażenie- logiczne i jeśli jego wartością jest true, to wykonywana jest instrukcja1, a jeśli false to wykonywana jest instrukcja2

29 instrukcja switch składnia: switch (selektor) { case wartość1: instrukcja1 case wartość2: instrukcja2... case wartośćN: instrukcjaN default: instrukcjaDomyślna }

30 instrukcja switch służy do warunkowego wykonania jednej z zestawu instrukcji w zależności od wartości wyliczonego wyrażenia nazywanego selektorem, który musi być wyrażeniem całkowitym obliczona wartość poszukiwana jest kolejno wśród wyrażeń całkowitych stałych podanych po słowie case i jeśli zostanie odnaleziona, to wykonywana jest odpowiednia instrukcja podana po dwukropku

31 w przypadku nie odnalezienia odpowiedniego przypadku wykonywana jest instrukcja z etykietą default lub następna instrukcja po instrukcji switch, gdy opcjonalna klauzula default nie wystąpiła

32 wykonanie instrukcji po etykiecie case lub default nie kończy wykonania instrukcji switch ani nie powoduje pominięcia instrukcji, które po niej następują, a gdy taka konieczność zachodzi należy zastosować instrukcję break etykiety case mogą być grupowane tj. może ich wystąpić kilka jedna po drugiej

33 Iteracje while {część_modyfikująca do {część_modyfikujaca} while

34 Iteracje for ciało_instrukcji continue umożliwia pozostanie w pętli, pomijając pozostałe jej instrukcje; powoduje bezpośrednie przejście do następnej iteracji pętli

35 Przykład

36


Pobierz ppt "Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję"

Podobne prezentacje


Reklamy Google