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

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
C++ wykład 4 ( ) Przeciążanie operatorów.
Język C/C++ Funkcje.
Mgr inż.Marcin Borkowski Podstawy Java Część II
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Programowanie obiektowe
Programowanie obiektowe PO PO - LAB 4 Wojciech Pieprzyca.
Klasy i obiekty.
Wzorce.
Język ANSI C Funkcje Wykład: Programowanie komputerów
Static, const, volatile.
formatowanie kodu źródłowego
Kamil Łącki Dominik Strzelichowski
Implementacja ekstensji klasy
Nguyen Hung Son Uniwersytet Warszawski
Programowanie obiektowe w Javie
Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Podstawy informatyki Powtórka Grupa: 1A Prowadzący: Grzegorz Smyk
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
C++ wykład 2 ( ) Klasy i obiekty.
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Zachodniopomorskie Centrum Edukacyjne Zadanie domowe.
dr Anna Kwiatkowska Instytut Informatyki
Język Java Wielowątkowość.
Klasy w C++. Deklaracja klasy class NazwaTwojejKlasy { //w tym miejscu piszemy definicje typów, //zmienne i funkcje jakie mają należeć do klasy. }; //tutaj.
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Podstawy programowania II
Programowanie obiektowe III rok EiT
Podstawy programowania
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
TABLICE C++.
Podstawy programowania
Jerzy F. Kotowski1 Informatyka I Wykład 8 STRUKTURA PROGRAMU n Funkcje n Klasy zmiennych n Projekt.
Programowanie obiektowe III rok EiT
Podstawy programowania w języku C i C++
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
JAVA.
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Inicjalizacja i sprzątanie
Seminarium problemowe
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Tablice. Tablica struktura danych, służy do przechowywania danych tego samego typu, zapisana w pamięci w sposób ciągły. Deklaracja tablicy PascalC++,
C# Platforma .NET CZ.3 Kuba Ostrowski.
Podstawy informatyki 2013/2014
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Kurs języka C++ – wykład 3 ( )
Podstawy języka Instrukcje - wprowadzenie
Programowanie strukturalne i obiektowe C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Kurs języka C++ – wykład 4 ( )
1 Zagadnienia na egzamin. 2 Język C podsumowanie Struktura programu w języku C Zmienne, Stałe Operacje arytmetyczne Operatory logiczne Priorytety operatorów.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
PO13-1 / 19 Wykład 13 Wyjątki i ich zgłaszanie Wyłapywanie wyjątków Obsługa wyjątków Wykorzystanie polimorfizmu Filtrowanie wyjątków Błędy w konstruktorach.
Wykład 5 Klasa Vec i jej operatory 1.Kategorie operatorów 2.Operatory ogólne - przykłady 3.Operatory specjalne [ ], ( ) oraz –> 4.Operatory new i delete.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Implementacja asocjacji (z atrybutami i bez) przy użyciu: referencji (kolekcji referencji) tablic asocjacyjnych przygotował: Kamil Kowalczyk.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Podstawowe konstrukcje języka Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin.
Kurs języka C++ – wykład 3 ( )
Wątki, programowanie współbieżne
Lua - funkcje Możliwość zwracania wielu wartości: function sumdiff(f,s) return f+s,f-s end a=20 b=15 s,d=sumdiff(a,b) print("Suma liczb "..a.."
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Programowanie Obiektowe – Wykład 2
Kurs języka C++ – wykład 4 ( )
Zapis prezentacji:

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)

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

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

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

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 } };

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];

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;

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") } ;

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

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)

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

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)

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); }

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); }}

Przykład

Ł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ć!

Ł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)

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

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);} }

//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!!! }}

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

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ę

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

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"); } }

Przykład

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

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

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

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

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

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

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

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

Przykład