5. If, Else va Switch

Dastur ba'zan vaziyatga qarab turli ishlarni bajarishi kerak.

Masalan:

Agar yosh 18 yoki undan katta bo‘lsa → Kirish mumkin.
Aks holda → Kirish mumkin emas.

Bunday qarorlarni Java'da if, else va switch yordamida yozamiz.

if

if — "agar" degan ma'noni anglatadi.

Masalan:

int yosh = 20;

if (yosh >= 18) {
    System.out.println("Siz voyaga yetgansiz.");
}

Bu yerda:

yosh >= 18

sharti tekshiriladi.

Agar shart true bo‘lsa, { } ichidagi kod ishlaydi.

Natija:

Siz voyaga yetgansiz.

Agar shart noto‘g‘ri bo‘lsa

Masalan:

int yosh = 15;

if (yosh >= 18) {
    System.out.println("Siz voyaga yetgansiz.");
}

Bu safar shart:

15 >= 18

false.

Shuning uchun hech narsa chiqarilmaydi.


else

Agar if sharti noto‘g‘ri bo‘lsa, boshqa kodni ishlatish uchun else dan foydalanamiz.

Masalan:

int yosh = 15;

if (yosh >= 18) {
    System.out.println("Kirish mumkin.");
} else {
    System.out.println("Kirish mumkin emas.");
}

Natija:

Kirish mumkin emas.

if va else qanday ishlaydi?

Oddiy ko‘rinishi:

if (shart) {
    // shart rost bo‘lsa
} else {
    // shart noto‘g‘ri bo‘lsa
}

Masalan:

int son = 10;

if (son > 0) {
    System.out.println("Musbat son");
} else {
    System.out.println("Musbat emas");
}

else if

Ba'zan ikkitadan ko‘p variant bo‘ladi.

Bunday holatda else if ishlatamiz.

Masalan:

int ball = 80;

if (ball >= 90) {
    System.out.println("A");
} else if (ball >= 80) {
    System.out.println("B");
} else if (ball >= 70) {
    System.out.println("C");
} else {
    System.out.println("D");
}

Natija:

B

Java shartlarni yuqoridan pastga tekshiradi.

Birinchi rost shart topilganda, shu blok ishlaydi.


Bir nechta else if

Masalan:

int yosh = 25;

if (yosh < 13) {
    System.out.println("Bola");
} else if (yosh < 18) {
    System.out.println("O‘smir");
} else if (yosh < 60) {
    System.out.println("Katta");
} else {
    System.out.println("Keksa");
}

Natija:

Katta

if ichida if

Bir if ichida boshqa if bo‘lishi mumkin.

Masalan:

int yosh = 20;
boolean hujjat = true;

if (yosh >= 18) {
    if (hujjat) {
        System.out.println("Kirish mumkin.");
    }
}

Bu nested if deyiladi.

Hozircha bunday kodni ko‘p ishlatish shart emas.

Ko‘p hollarda && bilan ham yozish mumkin:

if (yosh >= 18 && hujjat) {
    System.out.println("Kirish mumkin.");
}

switch

Bir nechta aniq variantlar bilan ishlash uchun switch ishlatilishi mumkin.

Masalan, hafta kunlari:

int kun = 2;

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("Bunday kun yo‘q");
}

Natija:

Seshanba

case

case qiymatni tekshiradi.

Masalan:

case 1:

agar kun qiymati 1 bo‘lsa, shu qism ishlaydi.


break

break switch dan chiqish uchun ishlatiladi.

Masalan:

case 1:
    System.out.println("Dushanba");
    break;

break bo‘lmasa, Java keyingi case larni ham bajarishi mumkin.

Shuning uchun odatda har bir case oxirida break yoziladi.


default

Agar hech bir case mos kelmasa, default ishlaydi.

Masalan:

int kun = 10;

switch (kun) {
    case 1:
        System.out.println("Dushanba");
        break;

    case 2:
        System.out.println("Seshanba");
        break;

    default:
        System.out.println("Noto‘g‘ri kun");
}

Natija:

Noto‘g‘ri kun

if yoki switch?

if turli shartlar bilan ishlash uchun qulay.

Masalan:

if (yosh >= 18) {
    ...
}

switch esa aniq qiymatlar bilan ishlashda qulay.

Masalan:

switch (kun) {
    case 1:
        ...
        break;
}

Oddiy amaliy misol

Foydalanuvchining bahosini tekshiramiz.

int ball = 75;

if (ball >= 90) {
    System.out.println("A'lo");
} else if (ball >= 70) {
    System.out.println("Yaxshi");
} else if (ball >= 50) {
    System.out.println("Qoniqarli");
} else {
    System.out.println("Yiqildi");
}

Natija:

Yaxshi

Hayotiy misol

Tasavvur qiling, do‘konda chegirma bor.

int yosh = 15;

if (yosh < 18) {
    System.out.println("20% chegirma");
} else {
    System.out.println("10% chegirma");
}

Dastur yoshga qarab qaror qabul qiladi.


Amaliy mashqlar

1-mashq

Sonning musbat yoki manfiy ekanligini if yordamida aniqlang.

2-mashq

Foydalanuvchining yoshini tekshiring.

Agar:

18 yoki undan katta

bo‘lsa:

Kirish mumkin.

Aks holda:

Kirish mumkin emas.

chiqsin.

3-mashq

Ballga qarab baho chiqaring:

90–100 → A
80–89  → B
70–79  → C
60–69  → D
0–59   → F

4-mashq

switch yordamida hafta kunini aniqlang.

Masalan:

1 → Dushanba
2 → Seshanba
3 → Chorshanba

va hokazo.

5-mashq

switch yordamida oddiy kalkulyator yarating.

Masalan:

+ → qo‘shish
- → ayirish
* → ko‘paytirish
/ → bo‘lish

Muhim narsalarni eslab qoling

if — shartni tekshiradi.

elseif noto‘g‘ri bo‘lganda ishlaydi.

else if — qo‘shimcha shartlarni tekshiradi.

switch — bir nechta aniq variant bilan ishlash uchun qulay.

caseswitch ichidagi variant.

breakswitch dan chiqadi.

default — hech bir variant mos kelmaganda ishlaydi.

Keyingi bobda for, while va do-while yordamida kodni qayta-qayta bajarishni o‘rganamiz.