Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)

Samankaltaiset esitykset


Esitys aiheesta: "Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)"— Esityksen transkriptio:

1 Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)
Toistorakenteista poistuminen ja niiden sisällä siirtyminen

2 Esiehtoinen toistorakenne
while (ehto) { /* suoritettava koodi */ } Esimerkki: int powerOfTwo = 2; while (powerOfTwo < 10) { System.out.println(”Next power: ” + powerOfTwo); powerOfTwo *= 2; }

3 Esiehtoinen toistorakenne
Toistorakennetta suoritetaan niin kauan kun annettu ehto on tosi (true) Mikäli ehto ei ole aluksikaan tosi, ei toistorakennetta suoriteta kertaakaan

4 Jälkiehtoinen toistorakenne
do { /* suoritettava koodi */ } while (ehto); Esimerkki: boolean mayExit = false; do { System.out.println(”Syötä luku (1-9) : ”); int userValue = getInt(); if (userValue>0 && userValue<10) mayExit = true; } while (!mayExit);

5 Jälkiehtoinen toistorakenne
Toistorakenne suoritetaan vähintään yhden kerran Seuraavalle suorituskerralle siirrytään, mikäli annettu ehto on tosi

6 for-toistorakenne for (alustus;jatkamisehto;lisäyslauseke) { }
/* suoritettava koodi */ } Käyttö järkevää kun toistojen lukumäärä on ennakkoon tiedossa Esimerkki for (int i=0;i<10;i++) { System.out.println(”Luku ” + i); }

7 for-toistorakenne suoritetaan yhden kerran
Tuloste Luku 0 Luku 1 Luku 2 Luku 3 Luku 4 Luku 5 Luku 6 Luku 7 Luku 8 Luku 9 for (int i=0;i<10;i++) { System.out.println(”Luku ” + i); } (1) (2) (3) suoritetaan yhden kerran suoritetaan joka kierroksella, jos totuusarvo on false, toistorakenteen suoritus päättyy suoritetaan joka kierroksen lopuksi ennen seuraavan kierroksen kohdan (2) tarkastusta

8 break ja continue toistorakenteissa
Kaikissa edellä esitellyissä toistorakenteissa voidaan käyttää break- ja continue-lausekkeita: break-lauseke poistuu toistorakenteesta continue-lauseke siirtyy suoraan seuraavalle suorituskerralle turhaa käyttöä kannattaa välttää

9 break ja continue - esimerkki
for (int i=0;i<10;i++) { if (i==5) continue; else if (i==8) break; System.out.println(”Kierros ” + i); } hyppy seuraavalle kierrokselle, mikäli jatkoehto 1 toteutuu, lisäyslauseke 2 suoritetaan kuten normaalisti (1) (2) poistutaan suoraan for-lausekkeesta Tuloste: Kierros 0 Kierros 1 Kierros 2 Kierros 3 Kierros 4 Kierros 6 Kierros 7

10 ehtojen asettaminen Kaikissa toistorakenteissa käytetään jotakin ehtoa, joka kertoo milloin suoritus lopetetaan Ehdot kannattaa asettaa mahdollisimman rajaaviksi, esimerkiksi: ei i!=count, koska silloin esim. luvulla –1 kutsuttaessa suoritus ei päättyisi ikinä public void printNumbers(int count) { for (int i=0;i<count;i++) { System.out.println(”Luku ” + i); } Ikuisten toistojen välttäminen em. ohjelmointityylillä on hyvä tapa

11 Näkyvyysalueet ja muuttujien elinaika
private, public paikalliset muuttujat

12 Näkyvyysalueen valinta
Ohjelmissa kannattaa aina valita mahdollisimman pieni näkyvyysalue jokaiselle muuttujalle ja metodille Kaikki luokan attribuutit kannattaa sijoittaa private-näkyvyysalueeseen Luokan yleiseen käyttöön tarkoitetut metodit sijoitetaan public-näkyvyysalueeseen, kaikki muut private-näkyvyysalueeseen Lisäksi on olemassa protected-näkyvyysalue, joka on ikään kuin public:n ja private:n välimaastossa oleva. Käyttö on tarpeellista lähinnä kun hyödynnetään perintää.

13 Paikallinen muuttuja vai luokan attribuutti
Muuttujat sijoitetaan aina pienimpään mahdolliseen käyttöalueeseensa. Mikäli muuttujan käyttö on tarpeellista monissa luokan metodeissa tai se kuvaa olion tilaa, tehdään siitä attribuutti. Mikäli käyttö on tarpeellista vain yksittäisessä metodissa, käytetään paikallista muuttujaa.

14 Paikallisen muuttujan määrittely - esimerkki
Paikallinenkin muuttuja kannattaa sijoittaa aina mahdollisimman rajattuun alueeseen. Esimerkki: public void printMembers() { Vector members = getAllMembers(); for (int i=0;i<members.size();i++) { Member member = members.getAt(i); String name = member.getName(); System.out.println(”Jäsen: ” + name); } Muuttujien esittelyt voitaisiin sijoittaa katkoviivalla osoitettuun paikkaan, mutta koska niitä ei käytetä kuin toistorakenteen sisällä, on ne sijoitettu toiston sisältämän lohkon sisään.

15 Muuttujien elinaika Jokaisella muuttujalla on näkyvyysalueen lisäksi ns. elinaika, jolloin se on olemassa Luokkamuuttujat on olemassa aina kun olion konstruktoria on kutsuttu, olemassaolo loppuu kun olioon ei ole enää yhtään viitettä Paikalliset muuttujat ovat olemassa lohkonsa sisällä. Kun lohko päättyy, paikallisen muuttujan elinaika päättyy.


Lataa ppt "Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)"

Samankaltaiset esitykset


Iklan oleh Google