Java do-while zanka za­go­ta­vlja, da program izvaja navodila, dokler ni dosežen določen pogoj za zaključek. Zanko lahko kom­bi­ni­ra­te tudi z drugimi funk­ci­ja­mi.

Kaj je zanka do-while?

V Javi se zanka do-while uporablja za izvajanje in po­na­vlja­nje navodila, dokler ni izpolnjen določen pogoj za zaključek (tj. true). Podobne zanke obstajajo v večini pro­gram­skih jezikov in se upo­ra­blja­jo za večkratno izvajanje določenih blokov kode. Zanka se lahko kombinira tudi z drugimi funk­ci­ja­mi. V Javi je zanka do-while različica zanke while.

Kakšna je sintaksa za do-while zanko v Javi?

Sintaksa zanke do-while v Javi je naslednja:

do {
	//statements
}
while(condition);
java

Zanka se začne s ključno besedo do, ki ji sledijo navodila ali ukazi, ki jih mora program izvesti. Po za­ključ­nih oklepajih se pojavi ključna beseda while, ki sproži pogoj za zaključek zanke. Ta pogoj je vedno izražen kot boo­le­an­ska izraza, kar pomeni, da se v logiki programa ovrednoti kot resničen ali ne­re­sni­čen. Pogost in uporaben primer takšnega izraza je spre­men­ljiv­ka števca, ki omogoča določitev števila ponovitev zanke.

Kako deluje zanka

Ko se izvede Java do-while zanka, program pregleda navodila znotraj telesa zanke in jih izvede. Ko je to končano, preveri pogoj za zaključek. Če je ta resničen (tj. še ni izpolnjen), se zanka začne od začetka in ponovi vse izjave, dokler se ponovno ne preveri. Takoj ko je pogoj za zaključek izpolnjen in zato lažen, program zaključi zanko in nadaljuje z ostankom kode.

Primer pre­pro­ste­ga zanke

Da bi po­na­zo­ri­li delovanje zanke, vam bomo na pre­pro­stem primeru pokazali njeno strukturo. V na­sle­dnjem primeru bomo spre­men­ljiv­ki x dodelili vrednost 10. S pomočjo Java ope­ra­tor­ja ++ se bo ta vrednost v vsakem prehodu povečala za 1 in prikazala z Java ukazom System.out.println. Naš pogoj za zaključek je vrednost 20, zato se zanka ponavlja, dokler je x manjši od 20. Koda izgleda takole:

public class Main {
	public static void main(String[] args) {
		int x = 10;
		do {
			System.out.println(x);
			x++;
		}
		while (x < 20);
	}
}
java

Če izvedemo ta kod, dobimo naslednji izpis:

10
11
12
13
14
15
16
17
18
19
java

Program nato ponovno izvede zanko, vendar prepozna vrednost x kot 20. Ker ni več manjša od 20, je pogoj za zaključek izpolnjen in zanka do-while se konča.

Kako ustvariti neskončno zanko z vre­dno­stjo true

S pomočjo boo­le­an­ske­ga izraza true je mogoče obli­ko­va­ti neskončno zanko z do-while. Ta se nikoli ne bo sama ustavila, saj ni mogoče doseči pogoja za zaključek. Da bi za­klju­či­li zanko, morate ročno uporabiti kom­bi­na­ci­jo [Ctrl] + [C]. Ustrezna koda je naslednja:

public class Main {
	public static void main(String[] args) {
		do {
			System.out.println("You are in an endless loop.");
		}
		while(true);
	}
}
java

Če izvedete ta kod, boste prejeli naslednji izpis:

You are in an endless loop.
You are in an endless loop.
You are in an endless loop.
You are in an endless loop.
You are in an endless loop.
ctrl+c
java

Če zanke ne za­klju­či­te ročno, se bo na­da­lje­va­la.

Razlika med do-while in while

V mnogih pogledih sta Java do-while zanka in while zanka podobni. Vendar se raz­li­ku­je­ta v enem ključnem vidiku, in sicer v tem, da while zanka oceni svoj pogoj za zaključek že na začetku, medtem ko se do-while zanka vedno izvede vsaj enkrat v celoti, preden se lahko zaključi. Če morate za­go­to­vi­ti, da se ukazi izvedejo vsaj enkrat, uporabite zanko do-while. Če je odločitev o zaključku ključnega pomena, raz­mi­sli­te o uporabi zanke while, ki jo nadzira glava.

Go to Main Menu