background image

Java 

Podstawy 

Instrukcje sterowania 

 

Michał Bereta 

www.michalbereta.pl

 

mbereta@pk.edu.pl 

background image

Instrukcje sterowania 

• 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 

background image

Instrukcje sterowania 

• Instrukcja if – then 

• Pozwala wykonad dany fragment kodu tylko jeśli pewien 

warunek jest spełniony 

 

background image

Instrukcje sterowania 

 

Jaki będzie wynik? 

background image

Instrukcje sterowania 

 

Jaki będzie wynik? 

background image

Instrukcje sterowania 

 

Jaki będzie wynik? 

background image

Instrukcje sterowania 

 

Należy pamiętad o nawiasach! 

background image

Instrukcje sterowania 

• if – then – else 

– else – pozwala wykonad fragment kodu jeśli (tylko 

jeśli !) warunek nie jest spełniony 

 

Co zostanie wypisane ? 

background image

Instrukcje sterowania 

• Bardziej rozbudowany przykład 

background image

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. 

background image

Instrukcje sterowania 

• switch – przekierowuje wykonywanie 

programu do pasującej etykiety 

– Uwaga! Program wykonuje wszystko poniżej 

dopasowanej etykiety, jeśli nie zastosuje się break  

background image

Instrukcje sterowania 

wykonywane jeśli nie pasuje 
żadna inna etykieta (nie jest 
obowiązkowe) 

background image

Instrukcje sterowania 

 

background image

Instrukcje sterowania 

poprawnie 

background image

Instrukcje sterowania 

• W switch może wystąpid 

– byte 
– short 
– char 
– int 
– enum (typ wyliczeniowy) 
– Character, Byte, Short, Integer 

 

– String (od wersji Javy 7 ! ) 

background image

Instrukcje sterowania 

 

Uwaga na wielkośd liter! 

background image

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 : 

background image

Instrukcje sterowania 

• Pętla while 

Nieskooczona pętla - konieczne jest zmiana 
warunku podczas którejś z kolejnych iteracji. 

background image

Instrukcje sterowania 

 

background image

Instrukcje sterowania 

krótsza wersja działająca tak samo 

background image

Instrukcje sterowania 

• Pętla do-while 

background image

Instrukcje sterowania 

Uwaga! Warunek jest sprawdzany po raz 
pierwszy po zakooczeniu pierwszej iteracji! 

background image

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. 

background image

Instrukcje sterowania 

• 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 

background image

Instrukcje sterowania 

 

również poprawne 

background image

Instrukcje sterowania 

Żaden z trzech elementów nie jest obowiązkowy 

Nieskooczona pętla ! 

background image

Instrukcje sterowania 

 

background image

Instrukcje sterowania 

 

Przerwanie pętli 

background image

Instrukcje sterowania 

• Pętla for dla tablic 

x: tymczasowa zmienna przyjmująca kolejne wartości z tablicy 

background image

Instrukcje sterowania 

background image

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 
 

background image

Instrukcje sterowania 

• break – przerywa pętle for, while, do-while, 

switch 

• Występuje 

– bez etykiety 
– z etykietą 

background image

Instrukcje sterowania 

background image

Instrukcje sterowania 

break z etykietą (mojaEtykieta) 

Po 'break' sterowanie przekazane 
w miejsce po etykietowanej 
instrukcji (nie do etykiety!) 

background image

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 
 

background image

Instrukcje sterowania 

• continue – kooczy (przerywa) tylko aktualną 

iterację pętli (for, while, do-while) i przechodzi 
do następnej 

– bez etykiety 
– z etykietą 

background image

Instrukcje sterowania 

bez etykiety 

background image

Instrukcje sterowania 

Podwójna pętla - bez continue 

background image

Instrukcje sterowania 

continue bez etykiety przerwie iterację 
najbardziej wewnętrznej zwierającej je pętli 

background image

Instrukcje sterowania 

continue z etykietą przerwie iterację 
odpoweidniej, wskazanej przez etykietę pętli 

background image

Instrukcje sterowania 

• return 

– opuszcza aktualną metodę  
– sterowanie przekazane w miejsce wywołania tej 

metody 

– może zwracad wartośd, ale nie musi 

background image

Instrukcje sterowania 

background image

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

background image

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. 

background image

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?