Samarqand davlat universiteti raqamli texnologiyalar fakulteti optimal boshqaruv usullari kafedrasi


 Tanlash operatorlari, dasturda bu operatorlar biror bir shartga asosan tanlovni amalga oshirib beradi. 2



Yüklə 1,58 Mb.
səhifə22/79
tarix14.12.2023
ölçüsü1,58 Mb.
#179928
1   ...   18   19   20   21   22   23   24   25   ...   79
Java MAJMUA

1. Tanlash operatorlari, dasturda bu operatorlar biror bir shartga asosan tanlovni amalga oshirib beradi.
2. Takrorlovchi(sikl) operatorlar, dasturdagi bir yoki bir necha operatorlar majmuasini bajarilishini biror shartga ko‘ra takrorlab turish uchun ishlatiladi.
3.  O‘tish(sakrash) operatorlari, bir yoki bir necha operatorlar majmuasini bajarilishini inkor etib, kerakli operatorga o‘tish uchun ishlatiladi.
Java dasturlash tilida 2 ta tanlash operatori mavjud: IF va SWITCH. Qo‘yilgan masalaga qarab ulardan biri ishlatilishi mumkin, maqola «IF» tanlash operatoriga bag‘ishlanadi.
IF operatori, butun kod ishlashini ikkita yo‘ldan biriga yo‘naltirib yuboradi, ya’ni qo‘yilgan shart asosida kompilyator biror yo‘lni tanlab, o‘z ishini davom ettiradi.
if(qandaydir shart) operator_1
else operator_2
Bu yerda qo‘yilgan shart natijasi boolean(agar esingizda bo‘lsa, boolean tipi yoki rost(true) yoki yolg‘on(false) bo‘lishi mumkin) tipidagi biror qiymatdir. Shart esa biror solishtirish amalidan iborat bo‘ladi.
Operator_1(yoki 2), istalgan operator yoki operatorlar jamlanmasi bo‘lishi mumkin. Agar operatorlar ko‘p bo‘lsa ular figurali({ }) qavsga olinishi shart. Agar shart bajarilsa, operator_1, bajarilmasa operator_2 ishlaydi.
Umumiy holda aytadigan bo‘lsak, dastlab qavs ichidagi shart bajariladi va natija olinadi, olingan natija truebo‘lsa, operator_1 ishlaydi, agar shartdan false chiqsa operator_2 ishlaydi va operator_1 tashlab ketiladi(bajarilmaydi). Misol ko‘ramiz.

1
2
3
4
5
6
7
8
9

class test{
public static void main(String[ ] args){
int a=30;
int b=20;
if (a>b) {
System.out.println("a katta b dan");
}
}
}

Ikkita o‘zgaruvchi e’lon qilinmoqda(a va b) va ularga mos ravishda qiymatlar berildi(30, 20). Keyin tekshuruv amalga oshirildi, agar «a» o‘zgaruvchi «b» o‘zgaruvchidan katta bo‘lsa, blokdagi operator ishga tushirilsin, aks holda bu blok tashlab ketilsin.

Keling endi, shartdagi belgini teskarisiga almashtiramiz,

1
2
3
4
5
6
7
8
9

class test{
public static void main(String[] args){
int a=30;
int b=20;
if (aSystem.out.println("a katta b dan");
}
}
}

Bunda, shart bajarilmayapti, ya’ni shartdan yolg‘on(false) natija chiqdi. Shu sababli ekranga chiqaruvchi operator bloki tashlab ketildi va dastur tugatildi.

Bu misol uchun, «else» kalit so‘zini kiritish zarur, ya’ni agar «a» katta bo‘lsa, katta degan yozuv, «a» kichik bo‘lsa, kichik degan yozuv chiqarish maqsadida. «else» kalit so‘zi aks holda degan ma’noni beradi.

1
2
3
4
5
6
7
8
9
10
11
12
13

class test{
public static void main(String[ ] args){
int a=30;
int b=20;
if (aSystem.out.println("a kichik b dan");
}
else
{
System.out.println("a katta b dan");
}
}
}

Shart asosida, yoki asosiy blok(5-7 qatorlar), yoki «else» bloki(8-11) ishga tushadi.

Misolda, figurali qavs ishlatmasa ham bo‘laveradi, bu qavs operatorlar guruhi (bir necha operatorlar) dan foydalanilganda ishlatiladi, lekin ko‘pchilik bitta operatorni ham, bunday qavs ichiga oladi(adashib ketmaslik uchun). Agar bir necha operatorlar figurali qavs ichiga olinmasa, bu operatorlarning birinchisi shart asosida ishlaydi, kompilyator qolgan operatorlarni dasturning davomi deb bilib, shartga bog‘liq bo‘lmagan holda ketma-ket ishga tushiraveradi. Misol ko‘ramiz,

1
2
3
4
5
6
7
8
9
10
11
12
13

class test{
public static void main(String[] args){
int a=30;
int b=20;
if (a>b) {
System.out.println("a soni b sonidan katta");
}
else
System.out.println("a soni b sonidan kichik");
int c=a+b;
System.out.println("Summa c="+c);
}
}

«else» bloki, qavs ichiga olinmaganligi tufayli, ekranga chiqarish operatori(9-qator) «else» operatoriga tegishli deb hisoblanib, qolgan operatorlar unga bog‘liq bo‘lmagan holda ishlaydi. Shuning uchun, «c» o‘zgaruvchi ikkita o‘zgaruvchining(a, b) yig‘indisi sifatida namayon bo‘lmoqda.

Endi, «else» dan keyingi uchta operatorni figurali qavs ichiga olamiz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14

class test{
public static void main(String[ ] args){
int a=30;
int b=20;
if (a>b) {
System.out.println("a soni b sonidan katta");
}
else{
System.out.println("a soni b sonidan kichik");
int c=a+b;
System.out.println("Summa c="+c);
}
}
}

«c» o‘zgaruvchi bilan bog‘liq operatorlar(e’lon qilish, ekranga chiqarish) ishlamaydi, ular qachon «else» operatori ishlasa(shart noto‘g‘ri bo‘lsa), ishlaydi.

Ba’zi hollarda shart ichida, shart ishlatish kerak bo‘ladi, bu holda «if» ichida yana bir bor «if» operatori ishlatiladi.

1
2
3
4
5
6
7
8
9
10
11
12
13
14

class test{
public static void main(String[ ] args){
int a=30;
int b=20;
if (a>b) {
if (a==30) {
System.out.println("a="+a);
}
}
else {
System.out.println("a kichik b dan");
}
}
}

Bu misolda, dastlab «a» o‘zgarvchi «b» o‘zgaruvchidan kattaligi, keyin, «a» o‘zgaruvchi qiymati 30 soniga tengligi tekshirilmoqda.
«else» operatori, eng yaqin turgan «if» operatorining yopilgan figurali qavsiga tegishli bo‘ladi(yopilgan figurali qavs qaysi «if»ga tegishli bo‘lsa, «else» o‘shaniki bo‘ladi). Misol,
Misolda, qaysi «if» qaysi «else»ga tegishliligi marker orqali ko‘rsatilgan. Demak, 5-qatordagi «if»ning «else»i 16 qatordan o‘rin olgan, 12-chi qatordagi «else» 9-qatordagi «if»ga tegishli.
IF tanlash operatorini o‘rganishni davom ettiramiz, bu operatorni asosiy bajaradigan vazifasi bilan tanishib chiqdik, bu maqolada, tanlash operatori bilan mantiqiy operatorlarni birga ishlatishni ko‘rib chiqamiz. Undan tashqari «IF» konstruktorini boshqa sintaksisilarini ham ishlatib ko‘ramiz.
Mantiqiy operatorlarni tanlash operatori bilan birga ishlatish, kodlarni ancha qisqartiradi va ma’noli kod yozishga olib keladi. Misol olaylik, berilgan son musbat va juftligini aniqlovchi dasturni mantiqiy operatorlarsiz yozamiz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14

class test{
public static void main(String[ ] args){
int a= 26;
if(a>0)
{
if(a%2==0)
{
System.out.println("OK");
}
}
else
System.out.println("No");
}
}

Dastlab, berilgan son musbatligi tekshirilmoqda, so‘ng uning juft toqligi. Agar hamma shart qanoatlantirsa «OK» degan yozuv, aks holda «NO» ekranga chiqishi lozim(Natija: OK).
Endi, bu misolni mantiqiy «AND» operatori orqali yechamiz.

1
2
3
4
5
6
7
8
9
10

class test{
public static void main(String[ ] args){
int a= 26;
if(a>0 && a%2==0)
{
System.out.println("OK");
}
else
System.out.println("No");
}

Agar bir vaqtning o‘zida berilan son ham musbat, ham juft bo‘lsa, «OK» yozuv chiqadi.

Yüklə 1,58 Mb.

Dostları ilə paylaş:
1   ...   18   19   20   21   22   23   24   25   ...   79




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin