8-dars - Java While Loop (Takrorlanuvchi operator).

«While» operatori dastur tuzishda ko'p ishlatiladigan sikl operatori hisoblanadi. Bu operator bir yoki bir necha operatorlar guruhini qo'yilgan shart yolg'on(false) bo'lguncha bajaradi. Qachonki shart rost bo'lsa, sikl o'z ishini boshlaydi va shartdagi qiymatlar sikl ichida o'zgartirib boriladi.

Sintaksis quyidagicha:

while (shart) {
    // operatorlar bloki
}

Shart har doim mantiqiy qiymat qabul qiladi: rost(true) yoki yolg'on(false). Blok ichiga istalgancha operatorlar yozish mumkin, yoki umuman yozmaslik ham mumkin.

  • «While» operatorida avval shart tekshirilib keyin amal bajariladi.
  • «While» operatoridan raqamlar ketma-ketligi doimiy bo'lmagan hollarda ishlatiladi.
  • «While» operatori takrorlanish davri har xil bo'lgan sikllar ustida ammalar bajarishda qo'l keladi.

Tasavvur qiling, siz bozordan 3kg pomidor xarid qilyapsiz, sotuvchi tarozida turgan idishga pomidor solyapti bir safar 2ta bir safar 3ta qo'liga siqqanicha olib idishga solyapti. Sotuvchining idishga pomidor solishi doimiy takrorlanyapti, lekin miqdori har safar har xil, bu jarayon pomidorlar 3 kg bo'lgunicha davom etadi. Endi bu jarayonni tahlil qilib chiqsak

  • Idishdagi boshlang'ich pomidor miqdori 0 kg
  • Chegaraviy miqdor 3 kg
  • Ortib borish miqdori har safar har xil

Sotuvchining miyyasidagi jarayonlarni dasturiy ko'rinishini qanday bo`lishini ko'rsak:

  1. Sotuvchi xaridordan necha kg pomidor olishini so`rab chegaraviy miqdorni aniqlaydi;
  2. Idishni taroziga qo`yib boshlang`ich miqdor (massa=0) 0 deb oladi;
  3. Idishga pomidor solishi bilan miqdorni hisoblab boradi;
  4. Agar massa 3 kg dan oshib ketsa, ortiqcha pomidorlarni olib tashlaydi.

Bu misolning javada dasturiy ko'rinishi:

public class Xarid {
 
    public static void main(String[] args) {
 
        Scanner in  = new Scanner(System.in); 
        int massa = 0; // boshlang'ich miqdor 
        int chegaraviyMiqdor = 3; 
        while (massa < chegaraviyMiqdor) { 
            System.out.println("Pomidor miqdorini kiriting"); 
            int m = in.nextInt(); 
            massa +=m; 
        } 
        if (massa > chegaraviyMiqdor) 
            System.out.println(massa - chegaraviyMiqdor +" kg oshib ketdi"); 
        else 
        System.out.println("Pomidor massasi 3 kg bo'ldi"); 
    } 
}

Ekranda:

Pomidor miqdorini kiriting

2 // kiruvchi qiymatlar

Pomidor miqdorini kiriting

1 // kiruvchi qiymatlar

Pomidor massasi 3 kg bo'ldi

Yana bitta oddiy misol 1 dan 10 gacha bo'lgan sonlarni chiqarish dasturi

public class WhileExample {
 
    public static void main(String[] args) {
 
        int i=1; 
        while(i<=10){
            out.print(i+",); 
            i++; 
        } 
    } 
}

Natija

1,2,3,4,5,6,7,8,9,10

«int» tipida «i» nomli o'zgaruvchi e'lon qilinib, «1» soni o'zlashtirildi. So'ng sikl boshlandi, bu sikl kiritilgan i(1), «10» sonidan katta bo'lguncha bajariladi. Sikl tanasida, «i» o'zgaruvchi qiymati ekranga chiqarilib, bu o'zgaruvchi bittaga oshirilmoqda(qiymat 2 ga teng bo'ladi). Shundan so'ng, kompilyator yana sikl boshiga chiqib, shartni tekshiradi (2<10 rost). Agar, shart rost(true) bo'lsa, sikl yana ishini davom ettiradi, endi ekranga «2» soni chiqadi va yana «i» o'zgaruvchi qiymati bittaga oshiriladi (o'zgaruvchi qiymati 3). Shu tariqa shart yolg'on bo'lguncha sikl aylanaveradi. Qachonki, «i» o'zgaruvchi qiymati «10«ga teng bo'lsa, shart yolg'on qiymatni qaytaradi(10<10 yolg'on) va sikl o'z ishini tugatadi. Agar shart sikl boshidanoq yolg'on bo'lsa, sikl umuman ishlamasligi ham mumkin, ya'ni kompilyator sikl tanasiga umuman kira olmaydi.

class Test{
 
    public static void main(String[] args){
 
        int d=10; 
        while (d<10){ 
            System.out.println(d); 
            d++; 
        }     
    } 
}

Bu misolda sikl umuman ishlamaydi, chunki (10<10) shart yolg'on (10=10 bo'lsa, rost bo'lar edi) va dastur hech qanday amal bajarmaydi.

Manba:


Gayratjon

Muallif haqida

Rayimjonov G'ayratjon


Blogdagi so‘nggi maqolalar:


Birinchi bo‘ling!

Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!