> 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/5-sikl-operatorlari-loops.md).

# #5 SIKL OPERATORLARI (LOOPS)

Dasturlashning eng katta kuchlaridan biri bu — kompyuterning bir xil amalni minglab, millionlab marta charchamasdan va xatosiz bajara olishidir.

Tasavvur qiling, ekranga 1 dan 100 gacha bo'lgan sonlarni chiqarmoqchisiz. Buning uchun 100 marta `System.out.println()` yozish qanchalik zerikarli va noto'g'ri ekanini tushunib turibsiz. Aynan shunday takrorlanuvchi ishlarni qisqa va chiroyli avtomatlashtirish uchun biz dasturlashda sikl (loop) lardan foydalanamiz.

Java tilida asosan uch xil sikl operatori mavjud: `for`, `while` va `do-while`.

### 🔁 1. FOR SIKLI (FOR LOOP)

`for` sikli — takrorlanishlar soni oldindan aniq bo'lganda ishlatiladigan eng mashhur sikldir.

#### SINTAKSIS:

```java
for (1. Boshlanish; 2. Shart; 4. Qadam (O'zgarish)) {
    // 3. Takrorlanishi kerak bo'lgan kod
}
```

Bu qanday ishlaydi?

1. Boshlanish: O'zgaruvchi (sanoq) yaratiladi va unga boshlang'ich qiymat beriladi (masalan, `int i = 1`). Bu qism faqat 1 marta ishlaydi.
2. Shart: Sikl qachongacha aylanishi kerakligi belgilanadi (masalan, `i <= 5`).
3. Kod: Shart rost (true) bo'lsa, qavs ichidagi kod ishlaydi.
4. Qadam: Kod ishlab bo'lgach, sanoq o'zgaradi (masalan, `i++` ya'ni bittaga oshadi). Keyin yana 2-qadamga (shartga) qaytadi.

#### AMALIY MISOL:

Ekranga 1 dan 5 gacha bo'lgan sonlarni chiqarish:

```java
for (int i = 1; i <= 5; i++) {
    System.out.println(i + " - qadam");
}
```

### 🔄 2. SHARTLI SIKL (WHILE LOOP)

`while` sikli — takrorlanishlar soni aniq bo'lmagan, lekin qandaydir shart bajarilguniga qadar aylanishi kerak bo'lgan holatlarda ishlatiladi.

#### SINTAKSIS:

```java
while (shart) {
    // Shart rost (true) bo'lsa, shu yerdagi kod ishlayveradi
}
```

#### AMALIY MISOL:

Foydalanuvchi kiritgan sonning raqamlarini bittalab ajratib olish (juda mashhur algoritmik jarayon):

```java
int son = 12345;

while (son > 0) {
    int oxirgiRaqam = son % 10;          // Oxirgi raqamni kesib olamiz
    System.out.println(oxirgiRaqam);     // Ekranga chiqaramiz
    son = son / 10;                      // Oxirgi raqamni jamidan o'chirib tashlaymiz
}
// Natija tepadan pastga: 5, 4, 3, 2, 1
```

### 🔃 3. DO-WHILE SIKLI

Bu siklning `while` dan yagona farqi shundaki — u shartni kod ishlab bo'lgandan keyin tekshiradi. Demak, shart xato bo'lsa ham, kod kamida 1 marta albatta ishlaydi! Odatda menyular yaratishda ko'p ishlatiladi.

#### SINTAKSIS:

```java
do {
    // Kamida 1 marta ishlaydigan kod
} while (shart);
```

#### AMALIY MISOL:

```java
int x = 10;

do {
    System.out.println("Bu yozuv albatta chiqadi!");
    x++;
} while (x < 5); // x 5 dan kichik emas, shart xato. Lekin kod 1 marta ishlashga ulgurdi.
```

### 🛑 SIKLNI BOSHQARISH: BREAK VA CONTINUE

Sikl aylanayotgan paytda uni ichkaridan turib boshqarish imkoniyatiga egamiz:

* `break` — Siklni butunlay to'xtatadi va tashqariga chiqib ketadi (xuddi `switch` dagi kabi).
* `continue` — Siklning aynan shu joriy qadamini (pastdagi kodlarni) tashlab yuboradi-da, keyingi qadamdan ishlashni davom ettiradi.

### 📝 UY VAZIFASI: TOPSHIRIQLAR

Sikllar — algoritmik mantiqning eng asosiy poydevori hisoblanadi. Bu mavzuni yuzaki o'rganib bo'lmaydi. Quyidagi vazifalarni to'liq bajarishingiz shart:

1. `for` sikl operatoriga oid masalalar: Kitobdan (yoki masalalar to'plamidan) jami 40 ta masala yechish. Bular asosan yig'indi, ko'paytma topish va ma'lum qonuniyatlarni chiqarishga qaratilgan bo'ladi.
2. `while` shartli sikliga oid masalalar: Kitobdan jami 30 ta masala ishlash. Raqamlarni ajratish, EKUB/EKUK topish kabi jarayonlarda `while` qanday ishlashini amalda ko'rasiz.
3. Codingbat.com platformasi:
   * Saytning `String-2` bo'limiga kiring.
   * Ushbu bo'limdagi masalalar oldingisidan qiyinroq bo'lib, o'tilgan sikllar (`for`, `while`) va matnlar (`String` metodlari) ni birga qo'shib ishlatishni talab qiladi. Barchasini to'liq ishlab chiqing.

***

🌐 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/5-sikl-operatorlari-loops.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.
