Takrorlash operatorlari (while va do-while) dasturga bir ishni qayta-qayta bajarish imkonini beradi. Mingta foydalanuvchiga xabar yuborish kerak bo’lsa, buni qo’lda emas, balki bir sikl bilan bajaramiz. Kotlin’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:
fun main() {
var i = 1
while (i <= 5) {
println("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. Diqqat: hisoblagich var bo’lishi kerak, chunki u o’zgaradi.
do-while sikli
do-while avval tanani bir marta bajaradi, so’ng shartni tekshiradi. Ya’ni tanasi kamida bir marta ishlashi kafolatlanadi:
fun main() {
var i = 10
do {
println("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:
fun main() {
var yigindi = 0
var son = 1
while (son <= 10) {
yigindi += son
son++
}
println("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.