Java isə döngə


JavaBaxılıb 82

Java while loop, müəyyən bir şərtə əsaslanan ifadələr toplusunu icra edən başqa bir döngü nəzarət ifadəsidir. Bu təlimatda java while loop haqqında ətraflı danışacağıq. İlə müqayisə edildikdə döngə üçün, while döngəsində sabit sayda təkrarlanma yoxdur. Fərqli deyil for loop, java-da istifadə olunan dəyişənin əhatə dairəsi loop daxilində məhdud deyil, çünki dəyişəni loop xaricində elan edirik.

Java isə loop sintaksis

while(test_expression) {
  //code
  update_counter;//update the variable value used in the test_expression
}

test_fikri - Bu while döngüsünün həyata keçirildiyi şərt və ya ifadədir. Şərt doğrudursa, kodu while döngəsində icra edir. Yanlışdırsa, while döngəsindən çıxır.

yeniləmə_sayağı - Bu, java while loop şəraitində istifadə olunan dəyişən dəyəri yeniləmək üçündür. Bunu göstərməsək, sonsuz bir döngə ilə nəticələnə bilər.

Döngü necə işləyir

Aşağıdakı blok sxem sizə javanın necə olduğunu göstərir while loop işləyir.

Java isə loopPin

 

  • İcra nəzarəti while ifadəsinə işarə etdikdə əvvəlcə vəziyyəti və ya test ifadəsini qiymətləndirir. Vəziyyət hər cür ola bilər operator.
  • Şərt a qaytararsa doğru dəyər, while loopunun içərisindəki kodu yerinə yetirir.
  • Sonra yenilikləri dəyişən dəyər dəyişəni artırır və ya azaldır. Bu kodu java while loop daxil etmək vacibdir, əks halda sonsuz javawhile döngəsi ilə nəticələnə bilər. Dərsliyin sonuna doğru sonsuz döngəni müzakirə edəcəyik.
  • Yenidən nəzarət while ifadəsinə işarə edir və yuxarıdakı addımları təkrarlayır.
  • Şərt qayıtdıqda a saxta dəyər, java while loopundan çıxır və while loop xaricindəki ifadələrin icrası ilə davam edir

Sadə java while loop nümunəsi

Aşağıda java while loopunu göstərən sadə bir kod verilmişdir.

public class simpleWhileLoopDemo {

  public static void main(String[] args) {
    int i=1;
    while(i<=5) {
      System.out.println("Value of i is: " + i);
      i++;
    }

  }

}
Value of i is: 1
Value of i is: 2
Value of i is: 3
Value of i is: 4
Value of i is: 5

Əvvəlcə bir int dəyişən elan edirik i və dəyəri 1 ilə başlayın. while şərtində, kimi ifadəmizə sahibik mən <= 5, bu qədər deməkdir i dəyər 5-dən az və ya bərabərdir, döngəni yerinə yetirir.

Buna görə 1-ci təkrarda, nə vaxt i = 1, şərt doğrudur və ifadəni java while loop daxilində yazdırır. Sonra artır i dəyəri indi 1 deməkdir i = 2.

Sonra yenidən yoxlayır mən <= 5. Doğru olduğundan yenidən döngü içindəki kodu yerinə yetirir və dəyəri artırır.

Yuxarıdakı addımları qədər təkrarlayır i = 5. Bu mərhələdə, while loop içərisindəki kodu icra etdikdən sonra, i dəyər artımları və i = 6. İndi vəziyyət false olaraq qayıdır və dolayısı ilə java while döngəsindən çıxır.

Arrayda loop

Oxşar for loop, sıra elementlərini almaq üçün bir java while loop da istifadə edə bilərik. Aşağıdakı nümunədə sıra elementlərini əldə edirik və while döngəsindən istifadə edərək bütün rəqəmlərin cəmini tapırıq.

public class whileLoopArray {

  public static void main(String[] args) {
    int[] numbers = {20,10,40,50,30};
    int i=0;
    int sum=0;
    while(i<numbers.length) {
      sum = sum+numbers[i];
      i=i+1;
    }
    System.out.println("Sum of array elements: " + sum);
    System.out.println("Length of array: " + i);
  }

}
Sum of array elements: 150
Length of array: 5

Explanation:

Əvvəlcə bir ədəd tam ədədi işə salırıq nömrələri və java while loop sayğacını elan edin dəyişən i. Bir sıra olduğundan, son elementə qədər bir sıra bütün elementləri keçməliyik. Bunun üçün uzunluğu istifadə edirik üsul daxilində java while loop şərti. Bu, while loopunun qədər icra olunduğu mənasını verir i dəyər serialın uzunluğuna çatır.

İ = 1 olduqda təkrarlama 0: şərt: true, cəmi = 20, i = 1

İ = 2 olduqda təkrarlama 1: şərt: true, cəmi = 30, i = 2

İ = 3 olduqda təkrarlama 2: şərt: true, cəmi = 70, i = 3

İ = 4 olduqda təkrarlama 3: şərt: true, cəmi = 120, i = 4

İ = 5 olduqda təkrarlama 4: şərt: true, cəmi = 150, i = 5

İ = 6 olduqda təkrarlama 5: vəziyyət: false -> çıxdıqda while loop

Xahiş edirik bizimlə əlaqə saxlayın Java-dakı massivlər Diziler haqqında daha çox məlumat əldə etmək üçün təlimat.

Sonsuz isə döngə

Dərsliyin əvvəlində müzakirə olunduğu kimi, sayğac dəyişkənini lazımi şəkildə yeniləmədikdə və ya şərtdən düzgün bəhs etmədikdə sonsuz nəticələnəcək while ilmə. Aşağıdakı bir nümunə ilə bunu görək.

public class infiniteWhileLoop {

  public static void main(String[] args) {
    int i = 0;
    while(i>=0) {
      System.out.println(i);
      i++;
    }

  }

}

Budur, dəyişəni başlatdıq 0 dəyəri ilə. java while loop şəraitində yoxlanılır i dəyər 0-dan böyük və ya bərabərdir. Artdığımız üçün i while loop içərisindəki dəyər, şərt i> = 0 həmişə qayıdır isə doğru dəyər və sonsuz bir şəkildə icra ediləcəkdir.

Aşağıdakı nümunədə gördüyünüz kimi başqa bir şəkildə sonsuz java while loop edə bilərik. Burada dəyişənin dəyəri bayraq dəyişən dəyəri yeniləmədiyimiz üçün həmişə doğrudur.

public class infiniteWhileLoop {

  public static void main(String[] args) {
    Boolean bFlag = true;
    while(bFlag) {
      System.out.println("Infinite loop");
    }

  }

}

Beləliklə sonsuz java isə döngə 2 şərtdən aşağıda baş verir. Bir müddət loop istifadə edərkən bu 2 nöqtəni xatırlamaq həmişə vacibdir.

  • dəyişən dəyəri yeniləmədikdə
  • while loopdakı vəziyyətdən düzgün istifadə etmədikdə

Döngə içərisində

Java-da bənzər bir iç içə isə while döngəsinə sahib ola bilərik for ilmə. While döngüləri çox olduqda, onu iç içə hala döngü adlandırırıq.

public class Nestedwhileloop {

  public static void main(String[] args) {
    int i=1,j=10;
    while(i<=5) {
      System.out.println("i: " + i);
      i++;
      while(j>=5) {
        System.out.println("j: " + j);
        j--;
      }
    }

  }

}
i: 1
j: 10
j: 9
j: 8
j: 7
j: 6
j: 5
i: 2
i: 3
i: 4
i: 5

Bu nümunədə, 2 isə döngə var. Xarici isə döngə qədər təkrarlanır mən <= 5 və daxili while loop qədər təkrarlanır j> = 5.

Zaman i = 1, şərt doğrudur və yazdırır i dəyər və sonra artımlar i dəyər 1-ə qədər. Bundan sonra daxili, halqanı dəyərlə icra edir j = 10. Vəziyyətdən bəri j> = 5 doğrudur, j dəyərini yazdırır. İndi vəziyyətə qədər daxili while loopunun icrasını tamamilə davam etdirir j> = 5 yalan qaytarır. Bir dəfə yalan olduqda, xarici isə loop icra qədər davam edir mən <= 5 yalan qaytarır.

Çıxışda çapdan sonra görə biləcəyiniz budur i = 1, hamısını icra edir j ilə başlayan dəyərlər j = 10 qədər j = 5 və sonra çap edir i qədər dəyərlər i = 5. Nə vaxt i = 2, daxili işləmir while şərt yanlış olduğundan döngü.

Java isə birdən çox şərtlə loop

Java while loop daxilində çoxsaylı dəyişənlərlə çox şərtlərə sahib ola bilərik. Aşağıdakı nümunədə 2 dəyişən var ai 0 ilə başlayan rəqəmlər 0 ilə 20 arasındakı cüt ədədləri çap edəcəyik. Bunun üçün java while loop içərisində şərtimiz var a <= 10, yalnız bir sayğac dəyişənidir və başqa bir şərtdir ((i% 2) == 0) cüt rəqəm olub olmadığını yoxlamaq üçün. Java while loop içərisində sayğac dəyişənini artırırıq a ilə 1 və i dəyəri 2.

public class Whileloopconditions {

  public static void main(String[] args) {
    int a = 0;
    int i = 0;
    System.out.println("Even numbers between 0 to 20:");
    while((a<=10) && ((i%2)==0)) {
      System.out.println(i);
      a++;
      i=i+2;
    }
  }

}
Even numbers between 0 to 20:
0
2
4
6
8
10
12
14
16
18
20

arayış

Şərh yaz

Translate »
2