Java Takrorlash operatori (While, Do While)

Keyingi ikki darsimizda, Java dasturlash tilida takrorlash operatorlari haqida o’rganamiz. Dastlabki takrorlash operatori yoki sikl bu while operatori. While operatori berilgan boolean shartga asoslanib, kod blokini chekli ravishda takroran ishga tushirish uchun ishlatiladi. While operatorini takrorlanuvchi if ifodasi deyishimiz mumkin. Agar takrorlashlar soni oldindan ma’lum bo’lmasa, while siklidan foydalanish tavsiya etiladi.

Sintaksisi quyidagicha:

while (/* sikl parametrini tekshirish */){
      // kod blok
      // sikl parametri qiymatini o’zgartirish
}

Yuqoridagi sintaksisni tahlil qilamiz:

-  /* sikl parametrini tekshirish */ - ushbu qismda sikl parametrini shartga tekshiramiz. Agar shart true qiymat qaytarsa, sikl tanasiga kiradi va kod blokni ishga tushiradi. Aks holatda sikl to’xtaydi. Masalan: while(i > 0)

 // kod blok – bu siklning asosiy vazifasi yoziladigan qismi.

-  // sikl parametri qiymatini o’zgartirish – ushbu qatorda sikl parametrini o’zgartiramiz. Masalan, parametrni birga oshiramiz yoki aksincha birga kamaytiramiz. Ushbu ifodada ehtiyot bo’lish zarur, aks holda sikl cheksiz ishlashi va natijada kod xatolik qaytarishi mumkin.

Quyidagi misolga e’tibor bering:

public static void main(String args[])
    {
        // sikl parametrini e’lon qilish va qiymat berish
        int i = 1;
 
        // sikl parametrini tekshirish
        while (i < 6) {
            System.out.println("Hello World");
 
            // sikl parametrini qiymatini o’zgartirish
            i++;
        }
    }

Ekranga quyidagilar chop etiladi:

Hello World Hello World Hello World Hello World Hello World

Yuqoridagi misolni batafsil muhokama qilamiz.

  1. Dastur boshlanadi.
  2. i sikl parametri e’lon qilinadi va 1 qiymati beriladi.
  3. Shart tekshiriladi. 1 < 6 rost qiymat.
  4. a) "Hello World" 1-marta chop etiladi.
  5. b) Sikl parametrini qiymati birga oshiriladi. Endi i = 2.
  6. Shart tekshiriladi. 2 < 6 rost qiymat.
  7.   a) "Hello World" 2-marta chop etiladi.
  8.   b) Sikl parametrini qiymati birga oshiriladi. Endi i = 3.
  9. Shart tekshiriladi. 3 < 6 rost qiymat.
  10.   a) "Hello World" 3-marta chop etiladi.
  11.   b) Sikl parametrini qiymati birga oshiriladi. Endi i = 4.
  12. Shart tekshiriladi. 4 < 6 rost qiymat.
  13.   a) "Hello World" 4-marta chop etiladi.
  14.   b) Sikl parametrini qiymati birga oshiriladi. Endi i = 5.
  15. Shart tekshiriladi. 5 < 6 rost qiymat.
  16.   a) "Hello World" 5-marta chop etiladi.
  17.   b) Sikl parametrini qiymati birga oshiriladi. Endi i = 6.
  18. Shart tekshiriladi. 6 < 6 yolg’on qiymat.
  19. Sikl to’xtaydi. Dastur tugaydi.

Ikkinchi takrorlash operatori bu do-while hisoblanadi va uning while siklidan farqi, do-while sikl tanasidagi kod blokini ishga tushirganidan keyin shartni tekshiradi. Sintaksisi quyidagicha:

do{
      // kod blok
      // sikl parametri qiymatini o’zgartirish
}
while (/* sikl parametrini tekshirish */);

Yuqoridagi sintaksisni tahlil qilamiz:

-  /* sikl parametrini tekshirish */ - ushbu qismda sikl parametrini shartga tekshiramiz. Agar shart true qiymat qaytarsa, sikl tanasiga kiradi va kod blokni ishga tushiradi. Aks holatda sikl to’xtaydi. Masalan: while(i > 0)

-  // kod blok – bu siklning asosiy vazifasi yoziladigan qismi.

-  // sikl parametri qiymatini o’zgartirish – ushbu qatorda sikl parametrini o’zgartiramiz. Masalan, parametrni birga oshiramiz yoki aksincha birga kamaytiramiz. Ushbu ifodada ehtiyot bo’lish zarur, aks holda sikl cheksiz ishlashi va natijada kod xatolik qaytarishi mumkin.

Quyida do-while yordamida yuqoridagiga o’xshash kod yozamiz va uni tahlil qilamiz:

public static void main(String args[])
    {
 
        // sikl parametrini e’lon qilish va qiymat berish
        int i = 1;
 
        // Do-while sikl
        do {
 
            // Sikl tanasi
            // Xabar chop etish
            System.out.println("Hello World");
 
            // sikl parametrini qiymatini o’zgartirish
            i++;
        } 
        // sikl parametrini tekshirish
        while (i < 6);
    }

Yuqoridagi misolni batafsil muhokama qilamiz.

  1. Dastur boshlanadi.
  2. i sikl parametri e’lon qilinadi va 1 qiymati beriladi.
  3. Sikl tanasi ishga tushadi
  4.   a) "Hello World" 1-marta chop etiladi.
  5.   b) Sikl parametrini qiymati birga oshiriladi. Endi i = 2.
  6. Shart tekshiriladi. 2 < 6 rost qiymat.
  7. Sikl tanasi ishga tushadi
  8.   a) "Hello World" 2-marta chop etiladi.
  9.   b) Sikl parametrini qiymati birga oshiriladi. Endi i = 3.
  10. Shart tekshiriladi. 3 < 6 rost qiymat.
  11. Sikl tanasi ishga tushadi
  12.   a) "Hello World" 3-marta chop etiladi.
  13.   b) Sikl parametrini qiymati birga oshiriladi. Endi i = 4.
  14. Shart tekshiriladi. 4 < 6 rost qiymat.
  15. Sikl tanasi ishga tushadi
  16.   a) "Hello World" 4-marta chop etiladi.
  17.   b) Sikl parametrini qiymati birga oshiriladi. Endi i = 5.
  18. Shart tekshiriladi. 5 < 6 rost qiymat.
  19. Sikl tanasi ishga tushadi
  20.   a) "Hello World" 5-marta chop etiladi.
  21.   b) Sikl parametrini qiymati birga oshiriladi. Endi i = 6.
  22. Shart tekshiriladi. 6 < 6 yolg’on qiymat.
  23. Sikl to’xtaydi. Dastur tugaydi.