Sobes.tech
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 case ilə müqayisə ediləcək dəyər.
  • case: Hər case ifadə ilə müqayisə edilən konkret dəyəri təmsil edir. Əgər dəyər uyğun gəlirsə, həmin case içindəki kod icra olunur.
  • break: Uygun case icra edildikdən sonra switch blokundan çıxmaq üçün istifadə olunan açar söz. Əgər break yoxdursa, icra növbəti case-ə 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.