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, maxsuiotishiabchiqarish() metodini ishga tushiradi. Agar xomAshyo bo’lmasa, ya’ni 0ga teng bo’lsa, tsikl umuman bajarilmaydi va maxsuiotishiabchiqarish() 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;
}
bunda, bo’liml 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
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.printin(i) ifodasi bajarilmaydi.
Do'stlaringiz bilan baham: |