Middle+
SwitchKeys-in quruluşu haqqında danışın.
sobes.tech Süni İntellekt
AI-dan cavab
Bəzi dillərdə switch və ya case quruluşu, dəyişənin və ya ifadənin dəyərinə əsaslanaraq kodun bir neçə alternativ yolundan birini seçmək üçün istifadə olunur. Bu, çoxsaylı if-else if bloklarına alternativdir.
Əsas komponentlər:
- İfadə/Dəyişən: Hər
caseilə müqayisə ediləcək dəyər. case: Hərcaseifadə ilə müqayisə edilən konkret dəyəri təmsil edir. Əgər dəyər uyğun gəlirsə, həmincaseiçindəki kod icra olunur.break: Uyguncaseicra edildikdən sonraswitchblokundan çıxmaq üçün istifadə olunan açar söz. Əgərbreakyoxdursa, icra növbəticase-ə keçir (fall-through).default: Seçimlərdən heç biri ifadənin dəyəri ilə uyğun gəlməzsə, icra olunan könüllü blok.
Java nümunəsi:
// Dəyişən təyin edilməsi
int dayOfWeek = 3;
// switch quruluşunun istifadəsi
switch (dayOfWeek) {
case 1:
System.out.println("Bazar ertəsi");
break;
case 2:
System.out.println("Çərşənbə");
break;
case 3:
System.out.println("Çərşənbə axşamı");
break;
case 4:
System.out.println("Cümə axşamı");
break;
case 5:
System.out.println("Cümə");
break;
case 6:
System.out.println("Şənbə");
break;
case 7:
System.out.println("Bazar");
break;
default:
System.out.println("Yanlış gün");
}
Python nümunəsi (bənzər davranış sözlüklər vasitəsilə əldə edilir):
# Dəyişənin təyini
day_of_week = 3
# switch-ə bənzər davranış üçün sözlük yaradılması
day_mapping = {
1: "Bazar ertəsi",
2: "Çərşənbə",
3: "Çərşənbə axşamı",
4: "Cümə axşamı",
5: "Cümə",
6: "Şənbə",
7: "Bazar",
}
# Sözlükdən dəyər almaq, get metodu ilə və defolt dəyər ilə
print(day_mapping.get(day_of_week, "Yanlış gün"))
switch-in if-else if-ə nisbətən üstünlükləri:
- Oxunaqlıq: Çox seçim olduqda adətən daha aydın olur.
- Performans: Bəzi dillərdə, tərtibçi
switch-i daha sürətli icra üçün optimallaşdıra bilər (məsələn, atlama cədvəllərindən istifadə etməklə).
Əksikliklər:
case-də istifadə edilə bilən məlumat tipləri ilə məhdudiyyətlər (dil asılıdır).case-də diapazonlar və ya mürəkkəb şərtlər istifadə edilə bilməz.
QA və QA Automation-da, switch müxtəlif vəziyyətləri, test nəticələrini, məlumat tiplərini və ya istifadəçi interfeys elementlərini idarə etmək üçün istifadə oluna bilər.