Switch shart operatori bilan tanishing!


Switch shart operatori ko’plab turli vazifalar ichidan biron ifodaning qiymatiga ko’ra bitta vazifani bajarish imkonini beradi. Buni amalga oshirish uchun “ switch, case, break, default” kalit so’zlaridan foydalanamiz.

 

Umumiy ko’rinishi :

switch (ifoda) {

case qiymat1:

vazifa1;

break;

case qiymat2:

vazifa2;

break;

.

.

.

case qiymatN :

vazifaN;

break;

default:

vazifaDefault;

}

 

Bu yerda “ifodabyte, short, int, char va String turida bo’lishi mumkin. O’sha ifodaning qiymatiga qarab Java vazifalarni qismlarga bo’ladi. Ya’ni ifodaning qiymati “qiymat1” ga teng bo’lsa, “vazifa1” bajariladi. Agar ifoda qiymati “qiymat2”ga teng bo’lsa mos ravishda “vazifa2” bajariladi, shu tarzda agar ifoda qiymati “qiymatN”ga teng bo’lsa “vazifaN” bajariladi. Biroq ifoda qiymati “case” kalit so’zidan keyingi qiymatlarning birontasiga teng bo’lmasa u holda “default” dagi “vazifaDefault” bajariladi.

Har bir vazifadan keyin “break” kalit so’zi qo’yilishi kerak. Chunki “break” kalit so’zi kerakli vazifa bajarib bo’linganidan keyin switch shart operatoridan chiqib ketishni taminlaydi. Agar “break” ni qo’ymasak undan keyingi vazifalar ham bajariladi.

Kichik dasturimiz yordamida switch shart operatorining ishlash tarzini yaxshiroq o’rganib olamiz.

Bu galgi dasturimiz biroz murakkabroq tuyilishi mumkin. Shuning uchun diqqat bilan o’rganing.

Hozir tuzadigan dasturimiz to’rtta fasl uchun “q”, “b”, “y”, “k” harflaridan birini kiritishini so’raydi va kerakli javobni olganidan keyin nechanchi oyi kerakligini so’raydi (1,2,3). Shunday qilib kerakli fasl va oyni topib beradi.

Asosan o’rganishimiz kerak bo’lgan narsa switch operatori String va int turidagi o’zgaruvchilar uchun qanday ishlashi.

“ ”

  1.    import java.util.Scanner;
  2.    publicclass SwitchSHO {
  3.    public static void main (String args[]){
  4.    Scanner o=newScanner(System.in);
  5.    System.out.println (“fasllardan birining bosh harfini kirit”);
  6.    String harf=o.nextLine ();
  7.     switch(harf){ //asosiy switch boshlandi.
  8.     // qish uchun q harfi
  9.     case “q”:System.out.println (“qish ”);
  10.     System.out.println (“Nechanchi oyi (1,2,3)”);
  11.     int son1=o.nextInt ();
  12.     switch(son1){
  13.     case 1: System.out.println (“dekarbr”);break;
  14.     case 2: System.out.println (“yanvar”);break;
  15.     case 3: System.out.println (“fevral”);break;
  16.     default :System.out.println (“Sen xato son kiritding”);
  17.     }break;
  18.      // bahor uchun b harfi
  19.     case “b”:
  20.     System.out.println (“Nechanchi oyi (1,2,3)”);
  21.     int son2=o.nextInt ();
  22.      switch(son2){
  23.        case 1: System.out.println (“mart”);break;
  24.        case 2: System.out.println (“aprel”);break;
  25.        case 3: System.out.println (“may”);break;
  26.      default :System.out.println (“Sen xato son kiritding”);
  27.     }break;
  28.    //yoz uchun y harfi
  29.    case “y”:System.out.println (“yoz”);
  30.    System.out.println (“Nechanchi oyi (1,2,3)”);
  31.    int son3=o.nextInt ();
  32.    switch(son3){
  33.    case 1: System.out.println («iyun»);break;
  34.    case 2: System.out.println («iyul»);break;
  35.    case 3: System.out.println («avgust»);break;
  36.    default :System.out.println («Sen xato son kiritding»);
  37.    }break;
  38.    // kuz uchun k harfi
  39.    case “k”:System.out.println (“kuz”);
  40.    System.out.println (“Nechanchi oyi (1,2,3)”);
  41.    int son4=o.nextInt ();
  42.    switch(son4){
  43.    case 1: System.out.println (“sentabr”);break;
  44.    case 2: System.out.println (“oktabr”);break;
  45.    case 3: System.out.println (“noyabr”);break;
  46.    default :System.out.println (“Sen xato son kiritding”);
  47.    }break;
  48.    default : System.out.println (“Sen xato harf kiritding”);
  49.    } //asosiy switch tugadi.
  50.    } // main metodi tugadi
  51.   }

 

IZOH: Foydalanuvchi biron o’zgaruvchi kiritishi uchun java util paketidagi Scanner klasini import qilib uning obyektini yaratib olamiz (1 va 4- qator).

5- qator foydalanuvchiga nima qilish kerakligini ko’rsatadi.

nextLine “ metodi kiritilgan harfni “harf” o’zgaruvchisida to’playdi va shundan keyin uning qiymati foydalanuvchi nima kiritsa shunga teng bo’lib qoladi. O’sha harf to’rtta holat uchun tekshiriladi (9, 19, 29, 39 –qatorlar), ya’ni ‘q’, ‘b’, ‘y’, ‘k’, harflariga tengmi yo’qmi.

Agar birontasi teng bo’lib qolsa o’sha holat uchun yozilgan barcha vazifalarni bajaradi toki “break” kalit so’zigacha. Agar birontasiga ham teng bo’lmasa default holatiga o’tadi. Bu vaziyatda “default:” dan keyingi vazifa bajariladi.

Masalan: bizning holatimizda foydalanuvchi bahor fasli uchun ‘b’ harfini kiritsa,bu vaziyatda ‘b’ holat uchun keying vazifalar bajarilishni boshlaydi (19-qator). Buyerda yana bir bor dastur nima qilish kerak ekanligini ko’rsatadi.

nextInt ()” metodi kerakli sonni olish va uni “son2” o’zgaruvchisiga to’plash uchun xizmat qiladi (21-qator).

Shu yerdan switch ichidagi switch operatori ishga tushadi, ‘son2’ ning qiymatini 1, 2, 3 holatlari bilan solishtiradi va agar bironta tengini topsa o’sha holat uchun “break” operatori kelgunicha barcha vazifalarni bajaradi. Bizning holatimizda agar foydalanuvchi ‘2’ ni kiritsa unda 24- qator ishga tushib “aprel” so’zi ekranga chiqadi.

Agar buyerda ham foydalanuvchi holat (case) lar ichida yo’q bo’lgan sonni kiritsa unda “default” holatiga o’tadi va “Sen xato son kiritding” gapi ekranga chiqadi.

Biz yuqorida tuzgan dasturning natijasi:

fasllardan birining bosh harfini kirit

b

Nechanchi oyi (1,2,3)

2

aprel

Guvohi bo'lganingizdek bu operator juda foydali va ishlatish uchun oson. Agar bu haqida savollaringiz yoki fikr mulohazalaringiz bo'lsa kommentariyada qoldiring va o'zingizning dasturlash sohasida o'sishingizga imkon yarating.

Bu videoda switch operatori haqida ko'proq ma'lumotga ega bo'lishingiz mumkin:

BULAR BILAN HAM TANISHING:

Publication author

offline 1 hour

Oxunjon G'aybullayev

10
Comments: 80Publics: 111Registration: 04-10-2017

Tarmoq orqali kiring: 

Sizning emailingiz oshkor qilinmaydi. Ism va Email kiritish talab qilinadi.