Ciklu komandas

Last modified by superadmin on 2018-01-12 20:37

Ciklu komandas

"while" cikls

while (expr) statement;

Universālākais gaidīšanas cikls (visus citus ciklus diezgan ērti izteikt ar šo). while cikls, protams, var izpildīties mūžīgi, ja vien cikla iekšienē netiek veiktas darbības, lai mainītu izteiksmes "expr" vērtību (vai arī ciklu neatstāj ar break komandu.

do cikls

do statement while (expr);

Ciklu izpilda vismaz vienreiz. Aiz nosacījuma iekavām liek semikolu. Šo ciklu izmanto reti.

for cikls

for (init-stmt; test-expr; incr-stmt;) statement;

Piemēram, programmas fragments, kurš drukā masīva elementus no 0 līdz 9:

for (int i = 0; i < 10; i++) {
   System.out.println("a[" + i + "] = " + a[i]);
}
for cikla precīzā jēga reizēm rada pārpratumus. Tādēļ pārskaitīsim šī cikla būtiskās īpašības valodā Java:

Cikla nosacījumu pārbauda cikla sākumā
Piemēram, cikls neizpildās ne reizi, ja nosacījums jau sākumā ir aplams.
Cikla ķermenī drīkst mainīt cikla mainīgo
Šāds programmēšanas stils parasti ir slikts, jo padara for ciklu par tikpat neprognozējamu kā while ciklu.
for(;;){} lieto kā mūžīgo ciklu
Mūžīgos ciklus lieto gan tādēļ, lai tie patiešām turpinātos mūžīgi, vai arī no tiem izeja paredzēta cikla ķermeņa vidū ar komandām break - cikla pārtraukšana, return - atgriešanās no funkcijas vai arī cikla ķermenī rodas izņēmums (exception) - situācija, kuru nekavējoties apstrādā izņēmumu pārķeršana.
Cikla mainīgo var izmantot pēc cikla beigām
Ja cikla mainīgais ir nodeklarēts pirms paša cikla, tad tas ir redzams arī pēc cikla beigām. Tas var būt noderīgi, piemēram, tad, ja no cikla izkļūts ar break un mūs interesē skaitītāja stāvoklis šajā momentā.

Tukšā komanda

Atsevišķs semikols Javā neko nedara, bet to dažreiz jālieto, piemēram tad, ja cikla ķermenī nekas netiek darīts (visu darbu veic cikla galvgalis). Piemērs, kas masīva visiem 10 elementiem pieskaita 17: 

for (int i = 0; i &lt; 10; a[i++] += 17) ;
Tags:
Created by Kalvis Apsītis on 2008-05-04 16:53
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation