while va do-while takrorlanish operatorlari dasturga bir ishni qayta-qayta bajarish imkonini beradi. Mingta foydalanuvchiga xabar yuborish kerak bo’lsa, buni qo’lda emas, balki bir sikl bilan bajaramiz. Dart’da bir necha sikl turi bor; biz while va uning “ukasi” do-while bilan tanishamiz.
Sikl (loop) — berilgan shart rost bo’lib turgan davomida o’z tanasidagi kodni qayta bajaradigan tuzilma.
whileshartni oldin,do-whileesa keyin tekshiradi.
while sikli
while avval shartni tekshiradi, rost bo’lsa tanasini bajaradi, so’ng yana shartga qaytadi:
void main() {
int i = 1;
while (i <= 5) {
print("Qadam: $i");
i++;
}
}
Qadam: 1
Qadam: 2
Qadam: 3
Qadam: 4
Qadam: 5
Eng muhim qator — i++. Aynan u har takrorda i ni oshiradi va oxir-oqibat shartni yolg’onga aylantiradi. Agar i++ ni unutsangiz, sikl cheksiz aylanaveradi — bu boshlovchilarning eng mashhur xatosi.
do-while sikli
do-while avval tanani bir marta bajaradi, so’ng shartni tekshiradi. Ya’ni tanasi kamida bir marta ishlashi kafolatlanadi:
void main() {
int i = 10;
do {
print("Qiymat: $i");
i++;
} while (i < 5);
}
Qiymat: 10
Diqqat: shart (i < 5) boshidanoq yolg’on bo’lsa-da, tana bir marta bajarildi. Bu — do-while ning whiledan tub farqi.
while va do-while farqi
Ikkovining farqini jadvalda ko’rib olamiz:
| Xususiyat | while |
do-while |
|---|---|---|
| Shart tekshiruvi | tanadan oldin | tanadan keyin |
| Minimal bajarilish | 0 marta | 1 marta |
| Qachon qulay | shart oldindan noma’lum | kamida bir marta kerak bo’lsa |
Amaliy misol: yig’indi
Siklning kuchini oddiy vazifada ko’ramiz — 1 dan 10 gacha sonlar yig’indisi:
void main() {
int yigindi = 0, son = 1;
while (son <= 10) {
yigindi += son;
son++;
}
print("Yig'indi: $yigindi");
}
Yig'indi: 55
Bunday to’planib boruvchi hisob real ilovalarda doimo uchraydi.
Xulosa
Bu bo’limda while va do-while sikllari, ularning shart tekshirish tartibidagi farqi va cheksiz sikl xavfini ko’rib chiqdik. Keyingi darsda eng ko’p ishlatiladigan sikl — for ga o’tamiz.