Java do-while cilpa nodrošina, ka programma izpilda ins­truk­ci­jas, līdz tiek sasniegts definēts pār­trauk­ša­nas no­sa­cī­jums. Jūs varat arī kombinēt cilpu ar citām funkcijām.

Kas ir do-while cilpa?

Do-while cilpa tiek izmantota Java, lai izpildītu un atkārtotu ins­truk­ci­ju , līdz tiek izpildīts definēts pār­trauk­ša­nas no­sa­cī­jums (t. i., true). Līdzīgas cilpas pastāv vairumā prog­ram­mē­ša­nas valodu un tiek iz­man­to­tas, lai vairākas reizes izpildītu noteiktus koda blokus. Cilpu var arī kombinēt ar citām funkcijām. Java valodā do-while cilpa ir while cilpas variants.

Kāda ir Java do-while cikla sintakse?

Do-while cilpas sintakse Java valodā izskatās šādi:

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

Cikls sākas ar at­slēg­vār­du do, kam seko ins­truk­ci­jas vai komanda, kas prog­ram­mai jāizpilda. Pēc slēgjo­ša­jām iekavām parādās at­slēg­vārds while, kas izraisa cikla pār­trauk­ša­nas no­sa­cī­ju­mu. Šis no­sa­cī­jums vienmēr tiek izteikts kā Boole’a izteiksme, kas nozīmē, ka prog­ram­mas loģikā tas tiek novērtēts kā patiesība vai ne­pa­tie­sī­ba. Bieži sastopams un noderīgs šādas iz­teik­smes piemērs ir skai­tī­tā­ja mainīgais, kas ļauj noteikt, cik reižu cikls jāatkārto.

Kā darbojas cilpa

Kad tiek izpildīta Java do-while cilpa, programma pārbauda cilpas ķermenī esošās ins­truk­ci­jas un izpilda tās. Kad tas ir paveikts, tā pārbauda pār­trauk­ša­nas no­sa­cī­ju­mu. Ja tas ir paties (t.i., vēl nav izpildīts), cilpa sākas no sākuma un atkārto visas ins­truk­ci­jas, līdz tas tiek pār­bau­dīts atkārtoti. Tomēr, tiklīdz pār­trauk­ša­nas no­sa­cī­jums ir izpildīts un tādējādi ir nepaties, programma pārtrauc cilpu un turpina izpildīt pārējo kodu.

Vien­kār­šas cilpas piemērs

Lai ilustrētu, kā darbojas cilpa, mēs parādīsim tās struktūru, iz­man­to­jot vienkāršu piemēru. Šajā piemērā mēs pie­šķir­sim mai­nī­ga­jam x vērtību 10. Ar Java operatora ++ palīdzību šī vērtība katrā ciklā tiks pa­lie­li­nā­ta par 1 un parādīta ar Java komandu System.out.println. Mūsu beigu no­sa­cī­jums ir vērtība 20, tātad cilpa tiek atkārtota, kamēr x ir mazāks par 20. Kods izskatās šādi:

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

Ja izpildām šo kodu, iegūstam šādu rezultātu:

10
11
12
13
14
15
16
17
18
19
java

Tad programma atkārtoti izpilda cilpu, bet atzīst x vērtību par 20. Tā kā tā vairs nav mazāka par 20, iz­beig­ša­nas no­sa­cī­jums ir izpildīts un do-while cilpa tiek izbeigta.

Kā izveidot bezgalīgu cilpu ar vērtību true

Ar Boole’a iz­teik­smes true palīdzību ir iespējams izveidot bezgalīgu cilpu ar do-while. Tā nekad ne­ap­stā­sies, jo nav sa­snie­dzams beigu no­sa­cī­jums. Lai pār­trauk­tu cilpu, ir jāizmanto kom­bi­nā­ci­ja [Ctrl] + [C]. At­bil­sto­šais kods izskatās šādi:

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

Ja iz­pil­dī­siet šo kodu, saņemsiet šādu rezultātu:

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

Ja ciklu ne­beig­siet manuāli, tas turpinās darboties.

Atšķirība starp do-while un while

Daudzos aspektos Java do-while cilpa un while cilpa ir līdzīgas. Tomēr tās atšķiras vienā būtiskā aspektā, proti, while cilpa novērtē savu pār­trauk­ša­nas no­sa­cī­ju­mu jau sākumā, bet do-while cilpa vienmēr izpilda vismaz vienu pilnu ciklu, pirms tā var tikt pār­trauk­ta. Ja jums ir ne­pie­cie­šams no­dro­ši­nāt, ka komandas tiek iz­pil­dī­tas vismaz vienu reizi, jums jāizmanto do-while cilpa. Ja lēmums par pār­trauk­ša­nu ir kritisks, apsveriet iespēju izmantot galvas kon­tro­lē­tu while cilpu.

Go to Main Menu