if-else-if yordami bilan bir necha shartni test qilishimiz mumkin. Lekin
bunday yozuv nisbatan o'qishga qiyin va ko'rinishi qo'pol bo'ladi. Agar shart ifoda
butun son tipida bo'lsa yoki bu tipga keltirilishi mumkin bo'lsa, biz switch (tanlash)
24
ifodalarini ishlata olamiz. switch strukturasi bir necha case etiketlaridan (label) va
majburiy bo'lmagan default etiketidan iboratdir. Etiket bu bir nomdir. U dasturnig
bir nuqtasidaga qo'yiladi. Programmaning boshqa yeridan ushbu etiketga o'tishni
bajarish mumkin. O'tish yoki sakrash goto bilan amalga oshiriladi, switch blokida
ham qo'llaniladi. 5 lik sistemadagi bahoni so'zlik bahoga o'tqizadigan blokni
yozaylik.
int baho;
baho = 4;
switch (baho) {
case 5: console.writeline ("A'lo");
break;
case 4: console.writeline( "Yahshi");
break;
case 3: console.writeline( "Qoniqarli");
break;
case 2:
case 1: console.writeline( "A'lo");
break;
default: console.writeline( "Baho hato kiritildi!";
break;
}
switch ga kirgan o'zgaruvchi (yuqorigi misolda baho) har bir case
etiketlarining qiymatlari bilan solishtirilib chiqiladi. Solishtirish yuqoridan pastga
bajariladi. Shartdagi qiymat etiketdagi qiymat bilan teng bo'lib chiqqanda ushbu case
ga tegishli ifoda yoki ifodalar bloki bajariladi. So'ng break (buzmoq, tugatmoq)
sakrash buyrug'i bilan switch ning tanasidan chiqiladi. Agar break qo'yilmasa,
keyingi etiketlar qiymatlari bilan solishtirish bajarilmasdan ularga tegishli ifodalar
ijro ko'raveradi. Bu albatta biz istamaydigan narsa. default etiketi majburiy emas.
Lekin shart chegaradan tashqarida bo'lgan qiymatda ega bo'lgan hollarni diagnostika
qilish uchun kerak bo'ladi. case va etiket orasida bo'sh joy qoldirish shartdir. Chunki,
25
masalan, case 4: ni case4: deb yozish oddiy etiketni vujudga keltiradi, bunda sharti
test qilinayotgan ifoda 4 bilan solishtirilmay o'tiladi.
Dostları ilə paylaş: