> For the complete documentation index, see [llms.txt](https://java.zikrulla.uz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://java.zikrulla.uz/3-shart-operatorlari-if-else.md).

# #3 SHART OPERATORLARI (IF-ELSE)

Mehribon va rahimli Alloh nomi bilan foydali ilm o'rganish niyatida boshlaymiz.

Dasturlashda mantiq — bu qaror qabul qilishdir. Shu paytgacha yozgan kodlarimiz yuqoridan pastga qarab qat'iy ketma-ketlikda ishlardi. Lekin real hayotda dasturlarimiz vaziyatga qarab o'zgarishi, ya'ni tarmoqlanishi kerak. Aynan shu jarayonni dasturda Shart operatorlari orqali bajaramiz.

### 🏗 SHART OPERATORI NIMA?

`if-else` operatori kompyuterga yo'nalish beradi. U kompyuterga shunday deydi: *"Agar mana bu shart rost bo'lsa, 1-yo'ldan yur, aks holda — 2-yo'ldan yur"*.

#### SINTAKSIS:

```java
if (shart) {
    // Agar shart ROST (true) bo'lsa, faqat shu qism ishlaydi
} else if (boshqa_shart) {
    // Agar birinchi shart xato, lekin bu shart ROST bo'lsa, shu qism ishlaydi
} else {
    // Yuqoridagi barcha shartlar YOLG'ON (false) bo'lsa, oxirida shu qism ishlaydi
}
```

### 🧐 MANTIQIY SHARTLARNI TEKSHIRISH

Shart qismi doimo `boolean` (`true` yoki `false`) qiymat qaytarishi kerak. Buning uchun biz taqqoslash va mantiqiy operatorlardan foydalanamiz:

| **Operator** | **Nomi va Tushuntirishi**                                | **Misol**                | **Natija** |
| ------------ | -------------------------------------------------------- | ------------------------ | ---------- |
| `==`         | Tengmi?                                                  | `5 == 5`                 | `true`     |
| `!=`         | Teng emasmi?                                             | `5 != 10`                | `true`     |
| `>` / `<`    | Katta / Kichik                                           | `18 > 20`                | `false`    |
| `>=` / `<=`  | Katta yoki teng / Kichik yoki teng                       | `10 >= 10`               | `true`     |
| `&&`         | Mantiqiy VA (AND) – Ikkalasi ham rost bo'lishi shart     | `(5 > 3) && (10 < 20)`   | `true`     |
| \|\|         | Mantiqiy YOKI (OR) – Bittasi rost bo'lsa ham yetarli     | `(5 > 10) \|\| (3 < 20)` | `true`     |
| `!`          | Mantiqiy INKOR (NOT) – Natijani teskarisiga o'zgartiradi | `!(5 == 5)`              | `false`    |

### ⚡️ AMALIY MISOL

Yoshni tekshirib, tizimga ruxsat beruvchi sodda dasturni ko'rib chiqamiz:

```java
int yosh = 20;

if (yosh >= 18) {
    System.out.println("Xush kelibsiz! Tizimga kirishga ruxsat berildi.");
} else {
    System.out.println("Kechirasiz, tizimga kirish uchun yoshingiz yetmaydi.");
}
```

> ⚠️ MUHIM ESLATMA: Java'da `String` (matn) turidagi ma'lumotlarni solishtirish uchun hech qachon `==` belgisidan foydalanmang! Matnlarni solishtirish uchun doim `.equals()` metodini ishlating: `ism.equals("Zikrulla")`.

### 📝 UY VAZIFASI: TOPSHIRIQLAR

Mantiqiy fikrlashni mustahkamlash uchun algoritmlar ustida ishlash shart.

Vazifa: Shart operatoriga (`if-else`) oid jami 30 ta masalani to'liq yechib kelish.

Qamrab olinishi kerak bo'lgan mantiqiy holatlar:

1. Solishtirish: Berilgan ikkita yoki uchta sondan eng kattasini va eng kichigini topish.
2. Juft/Toq va Ishora: Kiritilgan sonning juft yoki toq ekanligini, shuningdek musbat, manfiy yoki nolga tengligini tekshirish.
3. Murakkab shartlar (`&&`, `||`): O'quvchining to'plagan balliga qarab (masalan, 90 dan baland bo'lsa 'A', 80 dan baland bo'lsa 'B' va h.k.) bahosini aniqlovchi dastur tuzish.
4. Kabisa yili: Kiritilgan yilning kabisa yili ekanligini hisoblash (yil 4 ga qoldiqsiz bo'linishi kerak, lekin 100 ga bo'linmasligi shart, yoxud 400 ga bo'linishi kerak).

***

🌐 **Dars muallifi:** [Zikrulla Yashinov](https://zikrulla.uz) | Boshqa loyihalar va bog'lanish uchun


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://java.zikrulla.uz/3-shart-operatorlari-if-else.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
