> 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/4-tanlash-operatori-switch-va-string.md).

# #4 TANLASH OPERATORI (SWITCH) VA STRING

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

Dasturlashda ba'zida bitta o'zgaruvchining o'nlab turli xil qiymatlarini tekshirishga to'g'ri keladi. Ketma-ket, uzun-quyruq `else if` larni yozaverish kodni xunuklashtirib yuboradi. Bunday vaziyatlarda Java bizga ancha toza va o'qilishi oson bo'lgan `switch` (tanlash) operatorini taklif qiladi.

Darsning ikkinchi qismida esa har qanday dasturning ajralmas qismi bo'lgan matnlar (`String`) ustida amallar bajarishga kirishamiz.

### 🔀 TANLASH OPERATORI (SWITCH)

`switch` operatori asosan menyular, haftaning kunlari, fasllar yoki oylarga o'xshash aniq tanlovlar ustida ishlash uchun ishlatiladi. U kompyuterga shunday deydi: *"Qutining ichiga qara. Agar uning ichidagi narsa 'A' ga teng bo'lsa buni qil, 'B' ga teng bo'lsa buni qil..."*

#### SINTAKSIS VA ASOSIY QOIDALAR:

* `switch` qavs ichiga tekshirilishi kerak bo'lgan o'zgaruvchini oladi.
* `case` — bu mumkin bo'lgan qiymat (holat).
* `break` — tanlov topilgach, kod boshqa qatorlarga o'tib ketmasdan shu yerdan to'xtab, tashqariga chiqib ketishini ta'minlaydi (busiz barcha `case` lar ishga tushib ketadi).
* `default` — agar yuqoridagi hech qaysi `case` to'g'ri kelmasa, eng oxirida aynan shu qism ishlaydi (xuddi `else` ga o'xshab).

#### AMALIY MISOL:

Foydalanuvchi tanlagan raqamga qarab, haftaning kunini chiqaruvchi dastur:

```java
int kun = 3;

switch (kun) {
    case 1:
        System.out.println("Dushanba");
        break;
    case 2:
        System.out.println("Seshanba");
        break;
    case 3:
        System.out.println("Chorshanba"); // Natija shu qatorda chiqadi
        break;
    case 4:
        System.out.println("Payshanba");
        break;
    case 5:
        System.out.println("Juma");
        break;
    case 6:
    case 7: // Ikkita case'ni birlashtirish ham mumkin
        System.out.println("Dam olish kuni!");
        break;
    default:
        System.out.println("Xato raqam! Bunde kun yo'q.");
}
```

### 🔤 STRING (MATN) BILAN ISHLASH ASOSLARI

`String` — bu oddiy ma'lumot turi emas, u Java'da Obyekt (Class) hisoblanadi. Shuning uchun ham uning ichida bizga matnlarni o'zgartirish, qirqish va taqqoslash uchun yordam beradigan o'nlab tayyor "qurollar" (metodlar) mavjud.

Codingbat saytidagi masalalarni ishlash uchun sizga eng kerak bo'ladigan asosiy metodlar:

1\. Matn uzunligini topish: `.length()`

```java
String ism = "Zikrulla";
int uzunligi = ism.length(); // Natija: 8
```

2\. Ma'lum bir harfni (belgini) olish: `.charAt(index)` *Java'da sanoq 1 dan emas, 0 dan boshlanadi! Shuning uchun birinchi harf 0-indeksda joylashadi.*

```java
String soz = "Java";
char belgi = soz.charAt(0); // Natija: 'J'
```

3\. Matnning bir qismini qirqib olish: `.substring(boshlanish, tugash)`

```java
String salomlashish = "Assalomu alaykum";
String qirqilgan = salomlashish.substring(0, 8); // Natija: "Assalomu"
```

4\. Ikkita matn bir xilligini tekshirish: `.equals()`

```java
String a = "hello";
String b = "Hello";
boolean birXilmi = a.equals(b); // Natija: false (chunki bosh harf farq qiladi)
```

### 📝 UY VAZIFASI: TOPSHIRIQLAR

Bu darsdan boshlab mantiqiy masalalarning haqiqiy "ta'mini" his qila boshlaysiz. Ayniqsa, matnlar ustida ishlash dasturchilar uchun eng muhim ko'nikmalardan biridir.

1\. Tanlash operatoriga oid masalalar:

* Hafta kunlari, oy raqamiga qarab faslni qaytarish yoki oddiy kalkulyator menyusini (1. Qo'shish, 2. Ayirish va h.k.) aynan `switch` yordamida yozib, 10 dan ortiq mantiqiy masalalarni ishlash.

2\. Codingbat.com platformasi bilan tanishuv:

* [Codingbat.com](https://codingbat.com/java) saytidan ro'yxatdan o'ting.
* `String-1` bo'limidagi barcha masalalarni (ular qisqa matnlar va tayyor funksiyalarni tushunishga qaratilgan) to'liq, 100% ishlab yashil rangga keltiring.

***

🌐 **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/4-tanlash-operatori-switch-va-string.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.
