DIQQAT E’LON! Java dasturlash tillari bo’yisha video kurs tayyor. Video kurs haqidagi ma’lumotni quyidagi rasm ustiga bosib o’qishingiz mumkin:
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 “ifoda” byte, 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.
“ ”
- import java.util.Scanner;
- publicclass SwitchSHO {
- public static void main(String args[]){
- Scanner o=newScanner(System.in);
- System.out.println(“fasllardan birining bosh harfini kirit”);
- String harf=o.nextLine();
- switch(harf){ //asosiy switch boshlandi.
- // qish uchun q harfi
- case “q”:System.out.println(“qish ”);
- System.out.println(“Nechanchi oyi (1,2,3)”);
- int son1=o.nextInt();
- switch(son1){
- case 1: System.out.println(“dekarbr”);break;
- case 2: System.out.println(“yanvar”);break;
- case 3: System.out.println(“fevral”);break;
- default :System.out.println(“Sen xato son kiritding”);
- }break;
- // bahor uchun b harfi
- case “b”:
- System.out.println(“Nechanchi oyi (1,2,3)”);
- int son2=o.nextInt();
- switch(son2){
- case 1: System.out.println(“mart”);break;
- case 2: System.out.println(“aprel”);break;
- case 3: System.out.println(“may”);break;
- default :System.out.println(“Sen xato son kiritding”);
- }break;
- //yoz uchun y harfi
- case “y”:System.out.println(“yoz”);
- System.out.println(“Nechanchi oyi (1,2,3)”);
- int son3=o.nextInt();
- switch(son3){
- case 1: System.out.println(«iyun»);break;
- case 2: System.out.println(«iyul»);break;
- case 3: System.out.println(«avgust»);break;
- default :System.out.println(«Sen xato son kiritding»);
- }break;
- // kuz uchun k harfi
- case “k”:System.out.println(“kuz”);
- System.out.println(“Nechanchi oyi (1,2,3)”);
- int son4=o.nextInt();
- switch(son4){
- case 1: System.out.println(“sentabr”);break;
- case 2: System.out.println(“oktabr”);break;
- case 3: System.out.println(“noyabr”);break;
- default :System.out.println(“Sen xato son kiritding”);
- }break;
- default : System.out.println(“Sen xato harf kiritding”);
- } //asosiy switch tugadi.
- } // main metodi tugadi
- }
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: