switch (tanlash operatori) — bitta qiymatni ko’plab mumkin bo’lgan variantlar bilan solishtirishning tozaroq usuli. Uzun if-else if zanjiri o’qishni qiyinlashtirganda, switch kodni ancha tartibli qiladi. U ayniqsa aniq, sanab o’tiladigan variantlar bilan ishlashda qulay.
switch — bir ifodaning qiymatini bir necha
caseyorlig’i bilan ketma-ket solishtirib, mos kelganini bajaradigan tanlash operatori. Har bircaseodatdabreakbilan tugaydi.
Oddiy switch
switch berilgan qiymatni har bir case bilan solishtiradi va mos kelganini bajaradi:
public class Main {
public static void main(String[] args) {
int kun = 3;
switch (kun) {
case 1:
System.out.println("Dushanba");
break;
case 2:
System.out.println("Seshanba");
break;
case 3:
System.out.println("Chorshanba");
break;
default:
System.out.println("Noma'lum kun");
}
}
}
Chorshanba
kun qiymati 3 bo’lgani uchun case 3 bajarildi. default esa hech qaysi case mos kelmaganda ishlaydi.
break ning muhimligi
break operatori juda muhim — u switchdan chiqishni ta’minlaydi. Agar break yozilmasa, dastur keyingi case larga ham “sirg’alib” o’tib ketadi (fall-through):
public class Main {
public static void main(String[] args) {
int son = 1;
switch (son) {
case 1:
System.out.println("Bir");
case 2:
System.out.println("Ikki");
case 3:
System.out.println("Uch");
break;
}
}
}
Bir
Ikki
Uch
case 1 da break yo’qligi uchun dastur to’xtamay, keyingilarni ham bajardi. Har bir case ni break bilan yakunlashni odat qiling.
switch String bilan
Java’da switch matn (String) bilan ham ishlaydi — bu menyu tanlovlarida qulay:
public class Main {
public static void main(String[] args) {
String tanlov = "kirish";
switch (tanlov) {
case "royxat":
System.out.println("Ro'yxatdan o'tish");
break;
case "kirish":
System.out.println("Tizimga kirish");
break;
default:
System.out.println("Noto'g'ri tanlov");
}
}
}
Tizimga kirish
switch va if-else: qaysi biri qachon?
Ikkovining farqini jadvalda ko’ramiz:
| Xususiyat | switch |
if-else |
|---|---|---|
| Solishtirish turi | aniq tenglik | har qanday shart |
Oraliq (x > 5) |
qo’llab-quvvatlamaydi | qo’llab-quvvatlaydi |
| O’qilishi | ko’p variantda toza | murakkab shartda moslashuvchan |
Amaliy qoida: qiymat aniq variantlar bilan solishtirilsa — switch; oraliq yoki murakkab shart bo’lsa — if-else.
Xulosa
Bu bo’limda switch operatori, case va default, break ning muhimligi (fall-through) va String bilan ishlashni ko’rib chiqdik. Aniq variantli tanlov uchun switch — toza yechim. Keyingi darsda takrorlash operatorlari — while va do-while ga o’tamiz.