Java:Tsüklid

Allikas: Kursused
Redaktsioon seisuga 12. veebruar 2015, kell 15:20 kasutajalt Ago (arutelu | kaastöö)
Mine navigeerimisribale Mine otsikasti

Tsükkel (ik loop) võimaldab mingit koodiosa korrata teatud reeglite alusel. Kui näiteks programm peab väljastama numbrid ühest viieni, võib seda teha 5 reaga. Samas kui see programm peaks hakkama väljastama numbreid ühest tuhandeni, oleks 1000 rea kirjutamine väga ebapraktiline. Kui vaatate allolevat koodi, hakkab silma, et read on üsna sarnased:

System.out.println(0);
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);

Ainuke erinevus ridade vahel on argument, mis println() meetodisse antakse kaasa. Vaatleme, kuidas sama asja lahendada erinevate tsüklitega.

FOR tsükkel

Pythonis oleks saanud kasutada sellist lahendust: <source lang="python"> for i in range(5):

   print(i)

</source>

Javas saab kirjutada sellise koodi:

<source lang="java"> for (int i = 0; i < 5; i++) {

   System.out.println(i);

} </source>

Üldine kuju:

for (initsialiseerimine; jätkamise-tingimus; uuendamine) {
    käsud
}

initsialiseerimine käivitatakse ainult üks kord - kõige alguses. Jätkamise-tingimust kontrollitakse enne igat kordust. Kui jätkamise-tingimus annab tulemuseks true, pannakse käskude osa käima. Peale käskude käivitamist toimub uuendamine, millele järgneb jälle jätkamis-tingimuse kontrollimine.

Ehk siis for-tsükli käivitamise järjekord on selline:

  • initsialiseerimine
  • kui jätkamise-tingimus on tõene, jätkame, muul juhul lõpetatakse tsükli täitmine ära.
  • käsud
  • uuendamine
  • jätksamise-tingimuse kontroll (ja sedasi hakkab korduma)