Tsikllar
Java dasturlash tilida tsikllar asosan berilgan ifodani biror bir shart to’g’ri bo’lishi davomida
bajaradi.
while
tsikli shart to’g’ri bo’lishi davomida ifodani bajaradi. Agar shart to’g’ri bo’lmasa
tsiklda joylashgan ifoda bajarilmaydi.
while
tsiklining umumiy ko’rinishi quyidagicha bo’ladi:
while (shart) ifoda
Masalan:
while (xomAshyo > 0) {
maxsulotIshlabChiqarish();
maxsulot++;
xomAshyo--;
}
Dastur
kodi
xomAshyo
tugagunga qadar, ya’ni 0ga teng bo’lgunga qadar,
maxsulotIshlabChiqarish()
metodini ishga tushiradi. Agar
xomAshyo
bo’lmasa, ya’ni 0ga teng
bo’lsa, tsikl umuman bajarilmaydi va
maxsulotIshlabChiqarish()
metodi ishga tushirilmaydi.
while
tsikli shartni tsikl boshida tekshiradi. Agar shart to’g’ri bo’lmasa tsikl ichidagi ifoda
umuman bajarilmaydi. Agar tsikl ifodasi shart to’g’ri bo’lmasa xam kamida bir marta bajarilishi
kerak bo’lsa
do/while
tsiklidan foydalanish mumkin. Uning umumiy ko’rinishi quyidagicha
bo’ladi:
do ifoda while (shart);
Ushbu tsiklda birinchi ifoda bajariladi keyin esa shart tekshiriladi. Agar shart to’g’ri bo’lsa
tsikl qaytariladi, aks xolda tsikl to’xtatiladi. Masalan,
do {
xaroratniTekshirish();
muzlatkichniIshlatish();
} while (xarorat > 20);
Dastur kodi
xaroratniTekshirish()
va
muzlatkichniIshlatish()
metodlarini ishga
tushiradi, keyin esa
xarorat
qiymatini 20dan katta-kichikligini tekshiradi. Agar
xarorat
qiymati
20dan katta bo’lsa tsikl qaytariladi, katta bo’lmasa tsikl to’xtatiladi.
do/while
shartli ifodaning blok sxemasi quyidagi ko’rinishda bo’ladi.
do/while
shartli ifodaning blok sxemasi
Belgilangan tsikllar
for
tsikli xisoblagich yoki xar bir iteratsiyada yangilanib turuvchi o’zgaruvchi orqali
boshqariladigan iteratsiyalarni tashkil qiladi.
for
belgilangan tsiklning umumiy ko’rinishi quyidagicha bo’ladi:
ifoda
shart
XA
YO’Q
for (bo’lim1; bo’lim2; bo’lim3)
{
ifoda;
}
bunda, bo’lim1 xisoblagich o’zgaruvchisini e’lon qiladi va uni boshlang’ich qiymatini
belgilaydi. Bo’lim2 tsiklning xar bir iteratsiyasida tekshiriladigan shartni belgilaydi. Bo’lim3
xisoblagichni yangilash qoidasini belgilaydi. Masalan, quyidagi tsikl 1 dan 10 gacha bo’lgan
sonlarni ekranga chiqarib beradi.
for (int i=1; i<=10; i++)
System.out.println(i);
Quyida
for
tsiklining blok sxemasi keltirilgan.
for
tsiklining blok sxemasi
Shuni aytib o’tish kerakki, for tsiklida e’lon qilingan xisoblagich o’zgaruvchisi faqatgina
tsikl doirasida amal qiladi.
Bajarilish tartibini buzuvchi ifodalar
bo’lim 1
bo’lim 2
ifoda
bo’lim 3
YO’Q
XA
Tsikllar bajarilishi davomida ulardan vaqtidan oldin chiqish yoki keyingi iteratsiyaga o’tish
extiyoji paydo bo’ladi. Buning uchun
break
va
continue
ifodalaridan foydalanish mumkin.
break
ifodasi yorliqsiz va yorliqli turlariga bo’linadi. Yorliqsiz
break
ifodasini qo’llashni
quyidagi misolda ko’rib chiqamiz:
while (xomAshyo > 0)
{
maxsulotIshlabChiqarish();
maxsulot++;
if (maxsulot > reja) break;
xomAshyo--;
}
Ushbu dasturda tsikl ikki xolatda tugaydi, birinchi, agar
xomAshyo = 0
bo’lganda yoki
maxsulot = reja
bo’lganda. Demak,
break
ifodasi tsikldan shartsiz chiqib ketish uchun
qo’llaniladi.
Yorliqli
break
ifodasi bir birida joylashgan tsikllardan chiqish uchun ishlatiladi. Masalan,
xafta:
while (kun < 6)
{
while (soat < 8)
{
ishlash();
soat++;
if (tatil == true) break xafta;
}
kun++;
}
Ushbu dastur kodida
tatil == true
sharti to’g’ri bo’lganda
break
ifodasi joylashgan
tsikldan emas balki
break
ifodasidan keyin ko’rsatilgan yorliq tsiklidan chiqiladi.
continue
ifodasi tsiklning joriy iteratsiyasi bajarilishi to’xtatib ushbu tsiklni keyingi
iteratsiyasiga o’tkazadi. Masalan,
for (int i=1; i<=10; i++)
{
if (i>5) continue;
System.out.println(i);
}
dastur kodida
i>5
bo’lganda tsiklning joriy iteratsiyasi bajarilishi to’xtatilib keyingi
iteratsiyaga o’tiladi. Natijada
i>5
bo’lganda
System.out.println(i)
ifodasi bajarilmaydi.
Dostları ilə paylaş: |