Published on

Swiftda if, if...else operatori

Authors

Dasturlashda if operatori ma'lum bir shart bajarilganda faqatgina shu shartga mos kod blokini ishlatish uchun qo'llaniladi.

Masalan, talabaga balliga qarab baho qo'yish:

  • agar foiz 90 dan yuqori bo'lsa β†’ A
  • agar foiz 75 dan yuqori bo'lsa β†’ B
  • agar foiz 65 dan yuqori bo'lsa β†’ C

Swift tilida if...else operatorining uchta ko'rinishi mavjud:

  • if operatori
  • if...else operatori
  • if...else if...else operatori

1. Swiftda if operatori

Swift tilida if operatorining sintaksisi:

if (shart) {
  // if operatorining tanasi
}

if operatori qavs ichidagi shartni tekshiradi.

  • Agar shart true bo'lsa β€” { } ichidagi kod ishlaydi
  • Agar shart false bo'lsa β€” kod bajarilmaydi

{ } ichidagi qism β€” if operatorining tanasi.

If

Misol:

Swift
if operatori
let number = 10 // number 0 dan katta ekanligini tekshirish if (number > 0) { print("Son musbat.") } print("If operatori oson.")

Yuqoridagi misolda number > 0 sharti true, shuning uchun if ichidagi kod bajariladi.

Agar qiymatni quyidagicha o'zgartsak:

Swift
if operatori (false holat)
let number = -5 if (number > 0) { print("Son musbat.") } print("If operatori oson.")

Bu holatda shart false, shuning uchun if tanasi bajarilmaydi.

2. if...else operatori

if operatori ixtiyoriy else qismiga ega bo'lishi mumkin.

Sintaksis:

if (shart) {
  // agar shart true bo'lsa
}
else {
  // agar shart false bo'lsa
}

Shart tekshirilganda:

  • Agar true bo'lsa: β€” if ichidagi kod bajariladi β€” else ichidagi kod bajarilmaydi

  • Agar false bo'lsa: β€” else ichidagi kod bajariladi β€” if ichidagi kod bajarilmaydi

If-else

Misol:

Swift
if...else operatori
let number = 10 if (number > 0) { print("Son musbat.") } else { print("Son manfiy.") } print("Bu operator har doim bajariladi.")

Agar number = -5 bo'lsa:

Swift
if...else operatori (manfiy son)
let number = -5 if (number > 0) { print("Son musbat.") } else { print("Son manfiy.") } print("Bu operator har doim bajariladi.")

3. if...else if...else operatori

if...else operatori ikkita tanlov uchun ishlatiladi. Ammo tanlovlar undan ko'p bo'lsa, if...else if...else operatori qo'llanadi.

Sintaksis:

if (shart1) {
    // kod 1
}
else if (shart2) {
    // kod 2
}
else {
    // kod 3
}

Bu yerda:

  • Agar shart1 true β†’ kod 1 bajariladi
  • Agar shart1 false β†’ shart2 tekshiriladi
  • Agar shart2 true β†’ kod 2 bajariladi
  • Agar shart2 false β†’ kod 3 bajariladi
If

Misol:

Swift
if...else if...else operatori
// sonning musbat, manfiy yoki 0 ekanligini aniqlash let number = 0 if (number > 0) { print("Son musbat.") } else if (number < 0) { print("Son manfiy.") } else { print("Son 0 ga teng.") } print("Bu operator har doim bajariladi.")

Bu misolda ikkala shart ham false bo'lgani uchun else qismi bajariladi.

Ichma-ich (nested) if operatori

if operatorining ichida yana bir if operatori yozish mumkin. Bu ichma-ich (nested if) operatori deyiladi.

Sintaksis:

// tashqi if operatori
if (shart1) {
    // operatorlar

    // ichki if operatori
    if (shart2) {
        // operatorlar
    }
}

Ichki if istalgan joyda β€” tashqi if, else yoki else if ichida ishlatilishi mumkin. Ko'p darajali ichma-ich if'lar ham yozish mumkin.

Misol:

Swift
Nested if operatori
var number = 5 // tashqi if operatori if (number >= 0) { // ichki if operatori if (number == 0) { print("Son 0 ga teng") } // ichki else operatori else { print("Son musbat") } } // tashqi else operatori else { print("Son manfiy") }

Bu misolda ichki if yordamida sonning 0 yoki musbat ekanligi aniqlanyapti.


πŸ“š Masalalarni qanday yechish kerak?

βœ… Namuna: 1-masala yechimi

Masala: Berilgan son musbat bo'lsa 1, manfiy bo'lsa -1, nol bo'lsa 0 qaytaring.

Bosqichma-bosqich yechim:

1-qadam: Masalani tushunish

Bizga n soni beriladi va quyidagi qoidalar bo'yicha javob qaytarishimiz kerak:

  • n > 0 β†’ 1 qaytaramiz
  • n < 0 β†’ -1 qaytaramiz
  • n == 0 β†’ 0 qaytaramiz

2-qadam: if...else if...else strukturasini tanlash

Uchta turli holat bor, shuning uchun if...else if...else strukturasidan foydalanamiz.

3-qadam: Shartlarni yozish

if (n > 0) {
    return 1
} else if (n < 0) {
    return -1
} else {
    return 0
}

4-qadam: To'liq yechim

Swift
1-masala yechimi
func solve(_ n: Int) -> Int { if n > 0 { return 1 } else if n < 0 { return -1 } else { return 0 } } // Tekshirish print(solve(5)) // 1 print(solve(-3)) // -1 print(solve(0)) // 0 print(solve(100)) // 1

Natija: Barcha testlar o'tadi βœ…

Izoh:

  • Birinchi shart n > 0 β€” musbat sonlarni ushlaydi
  • Ikkinchi shart n < 0 β€” manfiy sonlarni ushlaydi
  • else β€” faqat 0 qoladi
  • Har bir return funksiyani darhol tugatadi

Xulosa

  • if β€” bitta shartni tekshirish
  • if...else β€” ikki tanlov
  • if...else if...else β€” ko'p tanlov
  • Nested if β€” if ichida if
  • Shart Bool tur qaytarishi kerak
Buy mea coffee