# Kaip veikia Java do-while ciklas?

Java do-while ciklas užtikrina, kad programa vykdytų instrukcijas, kol bus pasiekta apibrėžta nutraukimo sąlyga. Ciklą taip pat galima derinti su kitomis funkcijomis.

## Kas yra „do-while“ ciklas?

Do-while ciklas Java kalboje naudojamas instrukcijai vykdyti ir kartoti, **kol bus įvykdyta apibrėžta nutraukimo sąlyga** (t. y. tiesa). Panašūs ciklai egzistuoja daugumoje programavimo kalbų ir naudojami tam tikriems kodo blokams vykdyti keletą kartų. Ciklas taip pat gali būti derinamas su kitomis funkcijomis. Java kalboje do-while ciklas yra while ciklo variantas.

## Kokia yra Java do-while ciklo sintaksė?

Java kalboje do-while ciklo sintaksė atrodo taip:

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

Ciklas prasideda raktiniu žodžiu `do`, po kurio eina instrukcijos arba komandos, kurias programa turi įvykdyti. Po uždaromųjų skliaustų pasirodo raktinis žodis `while`, kuris sukelia ciklo pabaigos sąlygą. Ši sąlyga visada išreiškiama kaip **Būlio išraiška**, tai reiškia, kad pagal programos logiką ji įvertinama kaip teisinga arba neteisinga. Dažnas ir naudingas tokios išraiškos pavyzdys yra skaitiklio kintamasis, kuris leidžia nustatyti, kiek kartų ciklas turi pasikartoti.

## Kaip veikia kilpa

Kai vykdomas Java do-while ciklas, programa peržiūri instrukcijas ciklo korpuse ir jas vykdo. Kai tai baigta, ji patikrina nutraukimo sąlygą. Jei ji yra teisinga (t. y. dar neįvykdyta), ciklas prasideda nuo pradžios ir kartojasi visos instrukcijos, kol ji vėl patikrinama. Tačiau, kai tik nutraukimo sąlyga įvykdoma ir todėl tampa neteisinga, programa **nutraukia ciklą** ir tęsia likusį kodą.

## Paprastos kilpos pavyzdys

Norėdami paaiškinti, kaip veikia kilpa, paprastu pavyzdžiu parodysime jos struktūrą. Šiame pavyzdyje kintamajam `x` priskirsime vertę 10. Naudodami Java operatorius `++`, šią vertę kiekvienu ciklu padidinsime 1 ir parodysime Java komanda `System.out.println`. Mūsų nutraukimo sąlyga yra vertė 20, taigi ciklas kartojamas tol, kol x yra mažesnis už 20. Kodas atrodo taip:

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

Jei vykdysime šį kodą, gausime tokį rezultatą:

```java
10
11
12
13
14
15
16
17
18
19
```

Tada programa vėl vykdo kilpą, bet atpažįsta, kad x vertė yra 20. Kadangi ji nebėra mažesnė nei 20, nutraukimo sąlyga yra įvykdyta ir do-while kilpa baigiama.

## Kaip sukurti begalinį ciklą su verte `true`

Naudojant Būlio išraišką `true`, galima sukurti **begalinę kilpą** su do-while. Ji niekada nesustos, nes negali būti pasiekta jokios baigimo sąlygos. Norėdami užbaigti kilpą, turite **rankiniu būdu naudoti klavišų kombinaciją \[Ctrl\] + \[C\]**. Atitinkamas kodas atrodo taip:

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

Jei vykdysite šį kodą, gausite tokį rezultatą:

```java
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
```

Jei ciklo nebaigsite rankiniu būdu, jis toliau veiks.

## Skirtumas tarp „do-while“ ir „while“

Daugeliu atžvilgių Java do-while ciklas ir while ciklas yra panašūs. Tačiau jie skiriasi vienu esminiu aspektu: while ciklas savo nutraukimo sąlygą įvertina **iš karto pradžioje**, o do-while ciklas visada prieš nutraukimą **bent kartą** įvykdo **visą ciklą**. Jei norite užtikrinti, kad komandos būtų vykdomos bent kartą, turėtumėte naudoti do-while ciklą. Jei sprendimas dėl užbaigimo yra kritinis, apsvarstykite galimybę naudoti galvos valdomą while ciklą.


This is a markdown version of: [https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/java-do-while-ciklas/](https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/java-do-while-ciklas/) for AI/LLM consumption.