Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu wiedzy technicznej w regionie Java Podstawy Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl
Instrukcje decyzyjne Instrukcja if then Instrukcja if then else Instrukcja switch Pętle Pętla for Pętla while Pętla do while Instrukcje skoku break continue return
Instrukcja if then Pozwala wykonad dany fragment kodu tylko jeśli pewien warunek jest spełniony
Jaki będzie wynik?
Jaki będzie wynik?
Jaki będzie wynik?
Należy pamiętad o nawiasach!
if then else else pozwala wykonad fragment kodu jeśli (tylko jeśli!) warunek nie jest spełniony Co zostanie wypisane?
Bardziej rozbudowany przykład
Zadanie Totolotek 3 Wygeneruj i zapisz do tablicy 6 losowych liczb z przedziału *1, 49+. Wygeneruje dodatkową liczbę losową i porównaj ją z każdą wartością z tablicy wypisując informację, czy jest ona większa, mniejsza czy równa.
switch przekierowuje wykonywanie programu do pasującej etykiety Uwaga! Program wykonuje wszystko poniżej dopasowanej etykiety, jeśli nie zastosuje się break
wykonywane jeśli nie pasuje żadna inna etykieta (nie jest obowiązkowe)
poprawnie
W switch może wystąpid byte short char int enum (typ wyliczeniowy) Character, Byte, Short, Integer String (od wersji Javy 7! )
Uwaga na wielkośd liter!
Zadanie Zapytaj użytkownika o imię. Program zna trzy osoby o imionach: Wiktor, Maryla oraz Cyryl. Jeśli użytkownik podał jedno z tych imion, program pozdrawia go tym imieniem. Jeśli użytkownik podał inne imię, program odpowiada, że nie zna takiej osoby. Zastosuj konstrukcję switch. Skorzystaj z poniższego przykładu by porównad Stringi :
Pętla while Nieskooczona pętla - konieczne jest zmiana warunku podczas którejś z kolejnych iteracji.
krótsza wersja działająca tak samo
Pętla do-while
Uwaga! Warunek jest sprawdzany po raz pierwszy po zakooczeniu pierwszej iteracji!
Zadanie Zapytaj użytkownika o imię. Program zna trzy osoby o imionach: Wiktor, Maryla oraz Cyryl. Jeśli użytkownik podał jedno z tych imion, program pozdrawia go tym imieniem. Jeśli użytkownik podał inne imię, program odpowiada, że nie zna takiej osoby i ponownie pyta o imię, aż użytkownik poda jedno ze znanych programowi imion. Wtedy pozdrawia i kooczy swoje działanie Zastosuj konstrukcję switch oraz pętlę while.
Pętla for Inicjalizacja wykonywana raz, przed pierwszą iteracją Warunek koocowy sprawdzany przed każdą iteracją (również przed pierwszą), niespełnienie go powoduje zakooczenie pętli for Inkrementacja wykonywana po zakooczeniu każdej iteracji, przed sprawdzaniem warunku koocowego for( inicjalizacja ; warunek_koncowy; inkrementacja ) { } //instrukcje do wykonania
również poprawne
Żaden z trzech elementów nie jest obowiązkowy Nieskooczona pętla!
Przerwanie pętli
Pętla for dla tablic x: tymczasowa zmienna przyjmująca kolejne wartości z tablicy
Zadanie Zapytaj użytkownika o imię. Program zna sześd osób o imionach: Marek, Kasia, Stefan, Wiktor, Maryla oraz Cyryl. Jeśli użytkownik podał jedno z tych imion, program pozdrawia go tym imieniem. Jeśli użytkownik podał inne imię, program odpowiada, że nie zna takiej osoby. Przechowuj znane imiona w tablicy Stringów W celu sprawdzenia, czy podane imię jest znane, wykorzystaj pętlę for
break przerywa pętle for, while, do-while, switch Występuje bez etykiety z etykietą
break z etykietą (mojaetykieta) Po 'break' sterowanie przekazane w miejsce po etykietowanej instrukcji (nie do etykiety!)
Zadanie Zapytaj użytkownika o imię. Program zna sześd osób o imionach: Marek, Kasia, Stefan, Wiktor, Maryla oraz Cyryl. Jeśli użytkownik podał jedno z tych imion, program pozdrawia go tym imieniem. Jeśli użytkownik podał inne imię, program odpowiada, że nie zna takiej osoby. Przechowuj znane imiona w tablicy Stringów W celu sprawdzenia, czy podane imię jest znane, wykorzystaj pętlę for Przerwij pętlę for w momencie natrafienia na zgodnośd podanego imienia z jednym ze znanych w tablicy
continue kooczy (przerywa) tylko aktualną iterację pętli (for, while, do-while) i przechodzi do następnej bez etykiety z etykietą
bez etykiety
Podwójna pętla - bez continue
continue bez etykiety przerwie iterację najbardziej wewnętrznej zwierającej je pętli
continue z etykietą przerwie iterację odpoweidniej, wskazanej przez etykietę pętli
return opuszcza aktualną metodę sterowanie przekazane w miejsce wywołania tej metody może zwracad wartośd, ale nie musi
Zadanie Totolotek 4 Wygeneruj i zapisz do tablicy 6 losowych liczb z przedziału *1, 49+. Wypisz wartości z tablicy za pomocą pętli for. Poproś użytkownika o podanie jednej liczby. Sprawdź za pomocą pętli for oraz instrukcji if, czy dana wartośd jest w tablicy. Zastosuj break w odpowiednim miejscu (znalezienie liczby).
Zadanie Totolotek 5 Napisz metodę, która sprawdza, czy dana wartośd jest obecna w tablicy. Metoda zwraca wartośd true lub false. Wykorzystująd powyższą metodę, wygeneruj i zapisz do tablicy 6 losowych NIEPOWTARZAJACYCH SIĘ liczb z przedziału *1, 49+. Wypisz wartości z tablicy za pomocą pętli for. Poproś użytkownika o podanie jednej liczby. Sprawdź za pomocą pętli for oraz instrukcji if, czy dana wartośd jest w tablicy. Zastosuj break.
Zadanie Totolotek 6 Poproś użytkownika o podanie 6 NIEPOWTARZAJĄCYCH SIĘ liczb i zapisz je do tablicy. Wygeneruj i zapisz do innej tablicy 6 losowych NIEPOWTARZAJACYCH SIĘ liczb z przedziału *1, 49+. Wypisz wartości z obu tablic. Sprawdź wygraną użytkownika. Totolotek 7 Poproś użytkownika o podanie 6 NIEPOWTARZAJĄCYCH SIĘ liczb i zapisz je do tablicy. Wygeneruj i zapisz do innej tablicy 6 losowych NIEPOWTARZAJACYCH SIĘ liczb z przedziału *1, 49+. Wypisz wartości z obu tablic. Sprawdź wygraną użytkownika. Powtarzaj losowanie nowych 6 liczb i za każdym razem sprawdzaj wygraną użytkownika dla tych samych jego liczb. Za którym razem następuje wygrana?
Projekt Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu wiedzy technicznej w regionie współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego Instytut Fizyki Politechniki Krakowskiej pok. F206a, ul. Podchorążych 1, 30-084 Kraków tel.: +48 12 6370666 w. 28, faks: +48 12 6371446 e-mail: wiedza@pk.edu.pl www.wiedza.pk.edu.pl