Mgr inż.Marcin Borkowski Podstawy Java Część II www.mini.pw.edu.pl/~marcinbo.

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Wstęp do strumieni danych
Podstawy informatyki Informatyka Stosowana Zajęcia nr 2
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Język ANSI C Funkcje Wykład: Programowanie komputerów
Metody Analizy Programów Wykład 02
Języki programowania C++
typy całkowite (całkowitoliczbowe)
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.
Nguyen Hung Son Uniwersytet Warszawski
Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
Instrukcje warunkowe Zajęcia 5.
Inżynieria oprogramowania Lecture XXX JavaTM – część IV: IO
Podstawy informatyki Wirtotechnologia Grupa: 1A Wydział Inżynierii Metali i Informatyki Przemysłowej Wydział Odlewnictwa Akademia Górniczo – Hutnicza im.
Algorytm Rochio’a.
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Gniazda komunikacji sieciowej w języku Java
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
Java – programowanie obiektowe
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Obsługa systemu wejścia-wyjścia
Podstawy programowania
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.
Instrukcje sterujące część 1
Podstawy programowania
Instrukcje sterujące część 2
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Microsoft Office Excel
Wyrażenia w Turbo Pascalu.
PHP: warunki, pętle, switch, break, continue
Tworzenie aplikacji mobilnych
Programowanie Windows na przykładzie C# część 1
Obsługa systemu wejścia-wyjścia
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.
STEROWANIE Ale nie tylko
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.
C# Platforma .NET CZ.3 Kuba Ostrowski.
Na początek kilka pojęć z arkusza
Opracowała: Iwona Kowalik
Instrukcja warunkowa i wyboru
Elżbieta Fiedziukiewicz
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
1 Strumienie Hierarchie klas strumieniowych, strumienie bajtowe - klasy InputStream i OutputStream i ich metody, klasa File, strumienie plikowe, strumienie.
Składnia instrukcji warunkowej if…
Składnia pętli do … while do instrukcja while (wyrażenie); gdzie: instrukcja – instrukcja pojedyncza lub blok instrukcji wyrażenie – wyrażenie przyjmujące.
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Temat 7: Instrukcje warunkowe
Iteracje w C# Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
opracowała: Anna Mikuć
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.
Programowanie obiektowe Wykład 9 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/15 Dariusz Wardowski.
Instrukcje wyboru.
PHP Instrukcja warunkowa if Damian Urbańczyk. Warunek? Instrukcję warunkową wykorzystujemy wtedy, gdy chcemy sprawdzić pewien fakt, który może być prawdziwy.
Pętle – instrukcje powtórzeń
PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Podstawy informatyki Mechanizm obsługi sytuacji wyjątkowych Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu.
InMoST, Java – przykładowa aplikacja Bartosz.Michalik
Opracowanie Joanna Szymańska Konsultacja Bożena Hołownia.
Sposoby zapisu algorytmu
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Dane, zmienne, instrukcje
Instrukcja warunkowa if
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

mgr inż.Marcin Borkowski Podstawy Java Część II

mgr inż.Marcin Borkowski Pojęcia Wstępne Zadanie: –Wyliczyć rozwiązanie układu 2 równań liniowych metodą wyznaczników –Wersja uproszczona zakłada, że zawsze jest rozwiązanie

mgr inż.Marcin Borkowski Pojęcia Wstępne Rozwiązanie A1. [Pobranie danych] pobierz a 1,a 2,b 1,b 2,c 1 i c 2 A2. [Wyliczenie W] W a 1 * b 2 - a 2 * b 1 A3. [Wyliczenie W x ] W x c 1 * b 2 - c 2 * b 1 A4. [Wyliczenie W y ] W y a 1 * c 2 - a 2 * c 1 A5. [Wyznaczenie x] wypisz W x /W A6. [Wyznaczenie y] wypisz W y /W

mgr inż.Marcin Borkowski import java.io.* ; public class uklad1 { public static void main(String[] args) { double a1,a2,b1,b2,c1,c2; Double W,Wx,Wy; String s; InputStreamReader stdin = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(stdin); try{ System.out.println("Podaj a1:"); s=in.readLine(); a1=Double.parseDouble(s); System.out.println("Podaj a2:"); s=in.readLine(); a2=Double.parseDouble(s); System.out.println("Podaj b1:"); s=in.readLine(); b1=Double.parseDouble(s); System.out.println("Podaj b2:"); s=in.readLine(); b2=Double.parseDouble(s); System.out.println("Podaj c1:"); s=in.readLine(); c1=Double.parseDouble(s); System.out.println("Podaj c2:"); s=in.readLine(); c2=Double.parseDouble(s); }catch(IOException e) { e.printStackTrace(); return; }catch(NumberFormatException e) { e.printStackTrace(); return; } W=a1*b2-a2*b1; Wx=c1*b2-c2*b1; Wy=a1*c2-a2*c1; System.out.print("x="); System.out.println(Wx/W); System.out.print("y="); System.out.println(Wy/W); }

mgr inż.Marcin Borkowski Sterowanie

mgr inż.Marcin Borkowski Sterowanie –Algorytmy zawierające jedynie stałą sekwencje instrukcji nie są w stanie rozwiązać większości problemów –Możliwość warunkowego wykonania pewnych instrukcji dopuszcza instrukcja warunkowa, możliwość wykonania pewnych działań cyklicznie umożliwiają pętle –Instrukcje sterujące to te, które decydują o kolejności wykonania instrukcji w algorytmie

mgr inż.Marcin Borkowski Sterowanie Instrukcja warunkowa składnia: if( Warunek ) Instrukcja1 [ else Instrukcaj2] – Warunek jeżeli okaże się prawdziwy spowoduje wykonanie Instrukcji1 w p.p. wykona się Instrukcja2 –Sekcja else jest opcjonalna, jej brak w przypadku nieprawdziwości Warunku powoduje przejście algorytmu do następnej po if instrukcji

mgr inż.Marcin Borkowski Sterowanie Warunek Musi być zawarty w nawiasach Do zapisania warunku służą operatory logiczne Operatory logiczne nie zmieniają wartości zmiennych Proste operatory porównań można łączyć w celu zapisania bardziej skomplikowanych warunków Warunki –if(0)... /*zawsze nieprawda*/ –if(1)... /*zawsze prawda*/

mgr inż.Marcin Borkowski Sterowanie –Sprawdzanie równości == –if(1==1)... /*prawda*/ –if(2==1)... /*nieprawda*/ –if(a==b)... /*nieprawda*/ –a = 0 ; /*przypisanie wartości zmiennej*/ if(a==0)... /*prawda*/ if(a==2.8)... /*nieprawda*/ –if(a==a+1)... /*nieprawda niezależnie od wartości a*/ –Po obu stronach porównania mogą występować zmienne lub stałe oraz wyrażenia składające się z nich oraz operatorów arytmetycznych

mgr inż.Marcin Borkowski Sterowanie –Sprawdzanie nierówności != –if(1!=1)... /*nieprawda*/ –if(2!=1)... /*prawda*/ –if(a!=b)... /*prawda*/ –a = 0 ; /*przypisanie wartości zmiennej*/ –if(a!=0)... /*nieprawda*/ if(a!=2)... /*prawda*/ –if(a!=a+1)... /*prawda niezależnie od wartości a*/ –Po obu stronach porównania mogą występować zmienne lub stałe oraz wyrażenia składające się z nich oraz operatorów arytmetycznych

mgr inż.Marcin Borkowski Sterowanie –Sprawdzanie zależności większy, mniejszy –if(1>1)... /*nieprawda*/ –if(2<1)... /*nieprawda*/ –a = 0 ; b = 3; if(a<0)... /*nieprawda*/ if(a<2,1345)... /*prawda*/ if(a>b+1)... /*nieprawda*/ –Po obu stronach porównania mogą występować zmienne lub stałe oraz wyrażenia składające się z nich oraz operatorów arytmetycznych –Znaki (typ char) też można porównywać if(b > a)... /*prawda*/

mgr inż.Marcin Borkowski Sterowanie –Sprawdzanie zależności większy równy, mniejszy równy –if(1>=1)... /*prawda*/ –if(2<=1)... /*nieprawda*/ –a = 0 ; b = 2; if(a<=0)... /*prawda*/ if(a<=2,1345)... /*prawda*/ if(a>=b-2)... /*prawda*/ –if(a >= w)... /*nieprawda*/ –Po obu stronach porównania mogą występować zmienne lub stałe oraz wyrażenia składające się z nich oraz operatorów arytmetycznych

mgr inż.Marcin Borkowski Sterowanie –Negowanie warunku Każdy warunek można poprzedzić znakiem ! co spowoduje jego odwrócenie np.: !(tmp!=suma+1)tmp!=suma+1 !(a<=b+8)a<=b+8 !(a>3)a>3 !(a==b)a==b negacjawarunek

mgr inż.Marcin Borkowski Sterowanie –Łączenie warunków równoważnych umożliwia operator && –Warunek a==1&&b==3 jest prawdziwy tylko gdy zarówno prawda jest, że a==1 jak i b==3 –Warunek a!=b&&a>3&&a<5 jest prawdziwy tylko gdy a jest liczba 4 i b nie jest równe 4 –Łączenie warunków alternatywnych umożliwia operator || –Warunek c>5||c 5 lub c –Warunek a>b+3||a<b-3||a==0 jest prawda dla a odległego od b o więcej niż 3 lub równego zero a, b i c to zmienne typu int

mgr inż.Marcin Borkowski Sterowanie –Łączenie operatorów && i || Operatory && są obliczane przed || można to zmienić tylko poprzez użycie nawiasów –Warunek a>3||a 3 i dowolnego b oraz dla a i b równych i jednocześnie mniejszych od -3 –Warunek (a>3||a –Nawiasy stosujemy też dla poprawy czytelności warunku –Np.: ((a!=b)&&(a>3)&&(a<5))...

mgr inż.Marcin Borkowski Sterowanie instrukcja blokowa. –Pozwala zebrać grupę instrukcji w jedną całość i używać takiego bloku wszędzie tam gdzie wymagana jest tylko jedna instrukcja. –Blok instrukcji rozpoczyna się znakiem { i kończy } –Instrukcje wewnątrz nawiasów zwyczajowo piszemy wysunięte o 4 lub 8 spacji (tabulator) względem wcześniejszych instrukcji –Przykład instrukcji blokowej i warunkowej :

mgr inż.Marcin Borkowski Sterowanie /* zmienna a przyjmuje wartość 6*/ /* zmienna b przyjmuje wartość 0 */ if(b!=0) { System.out.print("Wynik dzielenia:"); System.out.println(a/b); }else System.out.println("Blad dzielenia!"); 0!=0 to jest fałsz

mgr inż.Marcin Borkowski Sterowanie /* zmienna a przyjmuje wartość 6*/ /* zmienna b przyjmuje wartość 2 */ if(b!=0) { System.out.print("Wynik dzielenia:"); System.out.println(a/b); }else System.out.println("Blad dzielenia!"); 2!=0 to jest prawda

mgr inż.Marcin Borkowski Sterowanie –Można teraz poprawić program wyliczający rozwiązanie układu równań –Wyeliminujemy przypadek dzielenia przez zero –Dla W=0, Wx=0 oraz Wy=0 układ ma nieskończenie wiele rozwiązań –Dla W=0 oraz Wx lub Wy <> 0 układ nie ma rozwiązania –Wystarczy rozpatrzyć te warunki w kodzie

mgr inż.Marcin Borkowski W=a1*b2-a2*b1; Wx=c1*b2-c2*b1; Wy=a1*c2-a2*c1; System.out.print("x="); System.out.println(Wx/W); System.out.print("y="); System.out.println(Wy/W); Te obliczenia będą prowadzić do błędów

mgr inż.Marcin Borkowski... W=a1*b2-a2*b1; Wx=c1*b2-c2*b1; Wy=a1*c2-a2*c1; if(W==0){ if((Wx==0)&&(Wy==0)) System.out.println("Uklad ma wiele rozwiazan"); else System.out.println("Uklad jest sprzeczny"); }else{ System.out.print("x="); System.out.println(Wx/W); System.out.print("y="); System.out.println(Wy/W); }

mgr inż.Marcin Borkowski Sterowanie Pętla for –Pozwala wykonać pewną instrukcje wielokrotnie (także instrukcję blokową) –Można z góry określić ile razy instrukcja będzie wykonywana lub ustalić warunek końca pętli – właściwość STOP –Programista musi zadbać o to aby pętla nie wykonywała się bez końca

mgr inż.Marcin Borkowski Sterowanie Pętla for składnia: for( Instrukcja1 ; Warunek ; Instrukcja2 ) Instrukcja3 ; –przed wykonaniem pętli jest wykonywana instrukcja1 –Aby pętla mogła zostać wykonana Warunek musi być spełniony (prawdziwy) –Po każdym wykonaniu Instrukcji3 w pętli (po każdej iteracji ) wykonywana jest instrukcja2

mgr inż.Marcin Borkowski Sterowanie for w języku naturalnym A1. [inicjalizacja] wykonaj Instrukcja1 A2. [Warunek] Jeżeli Warunek nie jest spełniony przejdź do punku A5 A3. [Iteracja] wykonaj Instrukcja3 A4. [Iteracja] wykonaj Instrukcja2 i przejdź do punku A2 A5. [Koniec pętli]

mgr inż.Marcin Borkowski Sterowanie –Warunek sprawdzany w pętli powinien dotyczyć zmiennych modyfikowanych w Instrukcji3 lub Instrukcji2 inaczej pętla może być nieskończona. –Najczęściej pętla for używana jest do wykonania instrukcji określoną ilość razy –Do odliczania kolejnych razów używa się zmiennej pomocniczej

mgr inż.Marcin Borkowski Sterowanie –Wypiszmy w pętli liczby od 1 do 10,000 –Pomysł wypisania 10,000 instrukcji cout<< raczej odpada –Zostaje pętla jako jedyne rozsądne rozwiązanie int i; for(i=1;i<=10000;i++) System.out.println(i);

mgr inż.Marcin Borkowski Sterowanie –Zadanie: Pobrać 10 liczb całkowitych od użytkownika Wyznaczyć najmniejszą i największą z nich Wypisać wynik na ekranie –Zapamiętamy w zmiennej max największą dotychczas znalezioną liczbę, podobnie w zmiennej min najmniejszą –Należy użyć pętli for do pobierania kolejnej liczby i sprawdzania za pomocą instrukcji warunkowych czy nie jest ona większa od dotychczas znanego max lub mniejsza od min

mgr inż.Marcin Borkowski import java.io.*; public class lab { public static void main(String[] args) { int min,max,liczba,i; String s; InputStreamReader stdin = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(stdin); try{ System.out.println("Podaj 10 liczb calkowitych"); s=in.readLine(); liczba=Integer.parseInt(s); max=min=liczba; for(i=1;i<10;i++) { s=in.readLine(); liczba=Integer.parseInt(s); if(liczba>max) max=liczba; else if(liczba<min) min=liczba; } }catch(Exception e) { e.printStackTrace(); return; } System.out.print("Maksymalna wartosc to:"); System.out.println(max); System.out.print("Minimalna wartosc to:"); System.out.println(min); } Ta pętla wykona się dokładnie 9 razy Nadanie wartości początkowych min i max

mgr inż.Marcin Borkowski Sterowanie Pętla while –Pozwala wykonać pewną instrukcje wielokrotnie (także instrukcję blokową) –Ilość wykonań jest kontrolowana warunkiem –Programista musi zadbać o to aby pętla nie wykonywała się bez końca, czyli musi postawić warunek tak aby zmian dokonywane w pętli spowodowały jego niespełnienie.

mgr inż.Marcin Borkowski Sterowanie Pętla while składnia: while( Warunek ) Instrukcja ; –Aby pętla mogła zostać wykonana Warunek musi być spełniony (prawdziwy) –Nie ma tu instrukcji wykonywanych przed pętlą ani po każdej iteracji, ale programista może zawsze umieścić instrukcje przed pętlą lub wewnątrz Instrukcji (o ile jest to blok)

mgr inż.Marcin Borkowski Sterowanie while w języku naturalnym A1. [Warunek] Jeżeli Warunek nie jest spełniony przejdź do punku A3 A2. [Iteracja] wykonaj Instrukcję i przejdź do punku A1 A3. [Koniec pętli]

mgr inż.Marcin Borkowski Sterowanie –Instrukcje for i while mogą być używane zamiennie (po odpowiednich modyfikacjach kodu) –Tam gdzie ilość wykonań pętli jest z góry znana zazwyczaj używamy for –Tam gdzie o ilości iteracji decyduje warunek zazwyczaj wybieramy for lub while na podstawie wygody użycia danej notacji

mgr inż.Marcin Borkowski Sterowanie –Wypiszmy w pętli liczby od 1 do 10,000 tym razem z użyciem pętli while int i; i=1; while(i<=10000){ cout<<i<<endl; i++; }

mgr inż.Marcin Borkowski Sterowanie –Zadanie: Pobrać liczby całkowite od użytkownika Liczb może być dowolnie dużo, podanie zera kończy pobieranie danych Wyznaczyć sumę podanych liczb Wypisać wynik na ekranie –Zapamiętamy w zmiennej suma sumę wszystkich wczytanych do tej pory liczb –Należy użyć pętli while do pobierania kolejnych liczb aż do podania zera

mgr inż.Marcin Borkowski import java.io.*; public class lab { public static void main(String[] args) { int suma; int liczba; String s; InputStreamReader stdin = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(stdin); try{ System.out.println("Podaj liczby, zero konczy:"); suma=0; s=in.readLine(); liczba=Integer.parseInt(s); while(liczba!=0) { suma+=liczba; s=in.readLine(); liczba=Integer.parseInt(s); } }catch(Exception e) { e.printStackTrace(); return; } System.out.print("Suma liczb to:"); System.out.println(suma); }

mgr inż.Marcin Borkowski Sterowanie Pętla do while –Podobnie jak pętla while pozwala wykonywać instrukcję tak długo jak długo warunek w pętli jest prawdą. –Różnica polega na tym, że warunek sprawdzany jest na końcu każdej iteracji, a nie na początku. –Oznacza to, że pętla do while wykona się co najmniej raz

mgr inż.Marcin Borkowski Sterowanie Pętla do while składnia: do Instrukcja ; while( Warunek ) Aby pętla mogła zostać powtórzona Warunek musi być spełniony (prawdziwy) do while w języku naturalnym A1. [Iteracja] wykonaj Instrukcję A2. [Warunek] Jeżeli Warunek jest spełniony przejdź do punku A1

mgr inż.Marcin Borkowski Sterowanie –Instrukcje for i while oraz do while mogą być używane zamiennie (po odpowiednich modyfikacjach kodu) –O tym czy użyć while czy do while decyduje wygoda zapisu (przykłady na następnych slajdach) –Aby zapisać więcej niż jedną instrukcje w pętli do while można zastosować instrukcję blokową.

mgr inż.Marcin Borkowski Sterowanie –Wypiszmy w pętli liczby od 1 do 10,000 tym razem z użyciem pętli do while int i; i=1; do{ cout<<i<<endl; i++; }while(i<=10000);

mgr inż.Marcin Borkowski import java.io.*; public class lab { public static void main(String[] args) { int suma; int liczba; String s; InputStreamReader stdin = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(stdin); try{ System.out.println("Podaj liczby, zero konczy:"); suma=0; do{ s=in.readLine(); liczba=Integer.parseInt(s); suma+=liczba; }while(liczba!=0); }catch(Exception e) { e.printStackTrace(); return; } System.out.print("Suma liczb to:"); System.out.println(suma); } Zapisujemy tylko raz Zero nie zmienia wyniku

mgr inż.Marcin Borkowski Tablice

mgr inż.Marcin Borkowski Tablice –Proste zmienne typów int, char i double nie wystarczają do opisu wszystkich potrzebnych danych przechowywanych w komputerze –Bardziej złożone struktury danych bazują na prostych typach jako składowych –Najważniejszym typem złożonym jest tablica

mgr inż.Marcin Borkowski Tablice –Tablice pozwalają przechowywać duże ilości danych tego samego typu –Zadanie: przechować w pamięci 2000 liczb pobranych od użytkownika. –Zadeklarowanie 2000 zmiennych a1,a2,...,a2000 nie jest dobrym rozwiązaniem –Należy użyć tablicy jednowymiarowej o rozmiarze 2000

mgr inż.Marcin Borkowski Tablice – int A[2000]; –Tablica A posiada miejsce do przechowania 2000 liczb typu int –Pierwsza liczna dostępna jest pod indeksem 0 a ostatnia pod indeksem 1999 –Dostęp do liczby uzyskujemy poprzez indeksowanie oraz nazwę tablicy A[1999]...A[2]A[1]A[0]

mgr inż.Marcin Borkowski Tablice int A[100]; –A[0] = 5; //przypisanie pierwszej komórce wartości 5 –A[99] = 9 ; //przypisanie wartości ostatniej komórce –tmp = A[56] ; //odczyt 57 komórki w tabeli –zm2 = A[i] ; //odczyt wartości z i+1 komórki W tablicy indeksy liczymy od 0 nie od 1!

mgr inż.Marcin Borkowski Tablice –W tablicy elementy są umieszczone sekwencyjnie co umożliwia łatwe dostęp do następujących po sobie elementów. –Zadanie: napisać algorytm wyznaczający najmniejszą wartość zapisaną w danej stuelementowej tablicy liczb. for(min=A[0],i=1;i<100;i++) if(A[i]<min) min = A[i]; –Nie da się tego łatwo zapisać używając 100 zmiennych!!! (różnica jest tylko w zapisie – nie w działaniu)

mgr inż.Marcin Borkowski Tablice –Tablice deklarujemy, podobnie jak zwykłe zmienne, na początku kodu. – typ nazwa[ rozmiar ] ; –Typ to dowolny z typów prostych, takiego typu będą wszystkie komórki w tabeli; –Rozmiar to ilość komórek; –Jeśli tablica ma zawierac obiekty deklarujemy ja: – typ nazwa[] = new typ [ rozmiar ];

mgr inż.Marcin Borkowski class lab { public static void main(String[] args) { int i; String s[]={"styczen","luty","marzec","kwiecien"}; System.out.print("Rozmiar tablicy : "); System.out.println(s.length); for(i=0;i<s.length;i++){ System.out.println(s[i]); } class lab { public static void main(String[] args) { int i; Double tab[]= new Double[10]; for(i=0;i<10;i++) tab[i]=i*java.lang.Math.PI ; for(i=0;i<10;i++) System.out.println(tab[i]); } Tablice

mgr inż.Marcin Borkowski Tablice –Można zadeklarować tablicę tablic, powstają w ten sposób tablice 2-wymiarowe W deklaracji podajemy 2 wymiary, najpierw liczbę wierszy, potem kolumn. Każdy wiersz jest tablicą jednowymiarową int Tab[3][15]; // 3 wiersze po 15 komórek tablica 3 tablic 15 elementowych indeksowanie podobnie jak deklaracja t.j. wiersz, kolumna : Tab[0][0], Tab[1][14],Tab[2][3]

mgr inż.Marcin Borkowski Tablice import java.util.Random ; class lab { private static final int SIZE = 10; public static void main(String[] args) { Integer i,j; Random rand = new Random(); Integer tab[][]= new Integer[SIZE][]; for(i=0;i<SIZE;i++) tab[i]=new Integer[SIZE]; for(i=0;i<SIZE;i++) { for(j=0;j<SIZE;j++) { tab[i][j]=rand.nextInt(10); }} for(i=0;i<SIZE;i++) { for(j=0;j<SIZE;j++) { System.out.print(tab[i][j] + " "); } System.out.print("\n"); }}}