Kuidas töötab Java do-while tsükkel?
Java do-while-tsükkel tagab, et programm täidab käske, kuni on saavutatud määratud lõpetamistingimus. Tsüklit saab kombineerida ka teiste funktsioonidega.
Mis on do-while-tsükkel?
Do-while-tsüklit kasutatakse Java-keeles käsu täitmiseks ja kordamiseks, kuni määratud lõpetamistingimus on täidetud (st tõene). Sarnased tsüklid on olemas enamikus programmeerimiskeeltes ja neid kasutatakse teatud koodiblokkide mitmekordseks täitmiseks. Tsüklit saab kombineerida ka teiste funktsioonidega. Java-keeles on do-while-tsükkel while-tsükli variant.
Mis on Java do-while-tsükli süntaks?
Java keeles näeb do-while-tsükli süntaks välja järgmine:
do {
//statements
}
while(condition);javaSilmus algab märksõnaga do, millele järgnevad juhised või käsk, mida programm peab täitma. Sulgudes ilmub märksõna while, mis käivitab silmuse lõpetamise tingimuse. See tingimus on alati väljendatud boolese väljendina, mis tähendab, et programmi loogika raames on selle väärtus kas tõene või vale. Sellise väljendi levinud ja kasulik näide on loendurmuutuja, mis võimaldab määrata, mitu korda silmus peab korduma.
Kuidas silmus töötab
Kui Java do-while-tsükkel täidetakse, vaatab programm tsükli kehas olevaid juhiseid ja täidab need. Kui see on tehtud, kontrollib programm lõpetamistingimust. Kui see on tõene (st veel täitmata), alustab tsükkel algusest ja kordab kõiki käske, kuni seda uuesti kontrollitakse. Kui aga lõpetamistingimus on täidetud ja seega vale, lõpetab programm tsükli ja jätkab ülejäänud koodiga.
Lihtsa tsükli näide
Selleks, et illustreerida, kuidas silmus töötab, näitame selle struktuuri lihtsa näite abil. Järgmises näites omistame muutujale x väärtuse 10. Java operaatori ++ abil suurendatakse seda väärtust iga läbimisega 1 võrra ja kuvatakse Java käsuga System.out.println. Meie lõpetamistingimus on väärtus 20, seega kordub tsükkel seni, kuni x on väiksem kui 20. Kood näeb välja järgmine:
public class Main {
public static void main(String[] args) {
int x = 10;
do {
System.out.println(x);
x++;
}
while (x < 20);
}
}javaKui me selle koodi käivitame, saame järgmise väljundi:
10
11
12
13
14
15
16
17
18
19javaSeejärel käivitab programm tsükli uuesti, kuid tunnistab x väärtuseks 20. Kuna see ei ole enam väiksem kui 20, on lõpetamistingimus täidetud ja do-while tsükkel lõpetatakse.
Kuidas luua lõputu tsükkel väärtusega true
Booli avaldise true abil on võimalik kujundada do-while abil lõputu tsükkel. See ei lõpe kunagi ise, kuna lõpetamistingimust ei ole võimalik saavutada. Tsükli lõpetamiseks peate käsitsi kasutama kombinatsiooni [Ctrl] + [C]. Vastav kood näeb välja järgmine:
public class Main {
public static void main(String[] args) {
do {
System.out.println("You are in an endless loop.");
}
while(true);
}
}javaKui te selle koodi käivitate, saate järgmise väljundi:
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+cjavaKui te ei lõpeta tsüklit käsitsi, jätkub see töötamine.
Erinevus do-while ja while vahel
Mitmes mõttes on Java do-while-tsükkel ja while-tsükkel sarnased. Siiski erinevad nad ühes olulises aspektis: while-tsükkel hindab oma lõpetamistingimust kohe alguses, samas kui do-while-tsükkel täidetakse alati vähemalt üks kord täielikult enne lõpetamist. Kui soovite tagada, et käskudest vähemalt üks täidetakse, kasutage do-while-tsüklit. Kui lõpetamise otsus on kriitiline, kaaluge pigem pea kontrollitava while-tsükli kasutamist.