Bloglar | Foydali ma'lumotlar | Javada While Loop
«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:
Source code
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 harid 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 hissoblab boradi.
4.Agar massa 3 kg dan oshib ketsa ortiqcha pomidorlarni olib tashlaydi
Bu misolning javada dasturiy ko’rinishi:
Source code
1.
publicclass Xarid {
2.

3.
publicstaticvoid main( String[] args){
4.

5.
Scanner in =new Scanner( System.in);
6.

7.
int massa =0;// boshlang'ich miqdor
8.

9.
int chegaraviyMiqdor =3;
10.

11.
while(massa < chegaraviyMiqdor){
12.

13.
System.out.println("Pomidor miqdorini kiriting");
14.

15.
int m = in.nextInt();
16.

17.
massa +=m;
18.

19.
}
20.

21.
if(massa > chegaraviyMiqdor)
22.

23.
System.out.println(massa - chegaraviyMiqdor +" kg oshib ketdi");
24.

25.
else
26.

27.
System.out.println("Pomidor massasi 3 kg bo'ldi");
28.

29.
}
30.

31.
}
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
Source code
1.
publicclass WhileExample{
2.

3.
publicstaticvoid main( String[] args){
4.

5.
int i=1;
6.

7.
while(i<=10){
8.

9.
out.print(i+”,);
10.

11.
i++;
12.

13.
}
14.

15.
}
16.

17.
}
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.
Source code
1.
class Test{
2.

3.
publicstaticvoid main( String[] args){
4.

5.
int d=10;
6.

7.
while(d<10){
8.

9.
System.out.println(d);
10.

11.
d++;
12.

13.
}
14.

15.
}
16.

17.
}
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.
Ma'lumotlar
Yaratilgan vaqt: 13 Aug 2018, 18:09
Muallif: @Arey (44)
Raxmat aytishgan: 2 kishi
Fikrlar: 0 ta
Ko'rilgan: 9 marta
Shikoyatim bor
Blog bilan bo'lishish
uzmasters.ru Onlayn 220 (0/220)
uzmasters.ru Forumga a'zo bo'lish
uzmasters.ru Forumdan qidirish
uzmasters.ru Bosh sahifa
Яндекс.Метрика UzMasterS.Ru