Java while and do ... while Loop

Bu eğitimde, örnekler yardımıyla Java'da while ve while döngüsünün nasıl kullanılacağını öğreneceğiz.

Bilgisayar programlamasında, döngüler bir kod bloğunu tekrarlamak için kullanılır. Örneğin, bir mesajı 100 kez göstermek istiyorsanız, bir döngü kullanabilirsiniz. Bu sadece basit bir örnek; döngülerle çok daha fazlasını başarabilirsiniz.

Önceki eğitimde Java for loop'u öğrendiniz. Burada, whileve do… whiledöngüler hakkında bilgi edineceksiniz .

Döngü sırasında Java

Java whiledöngüsü, belirli bir koşul karşılanana kadar belirli bir kodu çalıştırmak için kullanılır. whileDöngünün sözdizimi şöyledir:

 while (testExpression) ( // body of loop )

Buraya,

  1. Bir whileilmek değerlendirir textExpression parantez içinde ().
  2. Eğer textExpression olarak değerlendirilirse true, içeride kod whiledöngü yürütülür.
  3. TextExpression tekrar değerlendirilir.
  4. Kadar bu süreç devam textExpression olduğunu false.
  5. Tüm textExpression olarak değerlendirilirse false, döngü durur.

Koşullar hakkında daha fazla bilgi edinmek için Java ilişkisel ve mantıksal operatörleri ziyaret edin.

While döngüsünün akış şeması

Döngü sırasında Java akış çizelgesi

Örnek 1: 1'den 5'e kadar Sayıları Görüntüleme

 // Program to display numbers from 1 to 5 class Main ( public static void main(String() args) ( // declare variables int i = 1, n = 5; // while loop from 1 to 5 while(i <= n) ( System.out.println(i); i++; ) ) )

Çıktı

 1 2 3 4 5

İşte bu programın işleyişi.

Yineleme Değişken Koşul: i <= n Aksiyon
1 inci i = 1
n = 5
true 1 yazdırılır.
i 2'ye çıkarıldı .
2. i = 2
n = 5
true 2 yazdırılır.
i 3'e çıkarıldı .
3 üncü i = 3
n = 5
true 3 yazdırılır.
i 4'e çıkarıldı .
4. i = 4
n = 5
true 4 yazdırılır.
i 5'e çıkarıldı .
5 i = 5
n = 5
true 5 yazdırılır.
i 6'ya çıkarıldı .
6 i = 6
n = 5
false Döngü sona erdi

Örnek 2: Yalnızca Pozitif Sayıların Toplamı

 // Java program to find the sum of positive numbers import java.util.Scanner; class Main ( public static void main(String() args) ( int sum = 0; // create an object of Scanner class Scanner input = new Scanner(System.in); // take integer input from the user System.out.println("Enter a number"); int number = input.nextInt(); // while loop continues // until entered number is positive while (number>= 0) ( // add only positive numbers sum += number; System.out.println("Enter a number"); number = input.nextInt(); ) System.out.println("Sum = " + sum); input.close(); ) )

Çıktı

 Bir sayı girin 25 Bir sayı girin 9 Bir sayı girin 5 Bir sayı girin -3 Toplam = 39

Yukarıdaki programda, kullanıcıdan girdi almak için Scanner sınıfını kullandık. Burada nextInt()kullanıcıdan tamsayı girdisi alır.

whileKullanıcı negatif bir sayı girene kadar döngü devam eder. Her yineleme sırasında, kullanıcı tarafından girilen sayı sumdeğişkene eklenir .

Kullanıcı negatif bir sayı girdiğinde döngü sona erer. Son olarak, toplam tutar görüntülenir.

Java yapmak… döngü sırasında

do… whileDöngü sırasında döngü benzerdir. Ancak, do… whiledöngünün gövdesi , test ifadesi kontrol edilmeden önce bir kez yürütülür. Örneğin,

 do ( // body of loop ) while(textExpression)

Buraya,

  1. Döngünün gövdesi ilk olarak yürütülür. Daha sonra textExpression değerlendirilir.
  2. Eğer textExpression olarak değerlendirilirse true, iç döngünün gövdesi dodeyimi tekrar yürütülür.
  3. TextExpression kez daha değerlendirilir.
  4. Eğer textExpression olarak değerlendirilirse true, iç döngünün gövdesi dodeyimi tekrar yürütülür.
  5. Bu işlem textExpression değerlendirilene kadar devam eder false. Ardından döngü durur.

Yapmak için akış çizelgesi… while döngüsü

Döngü sırasında Java akış çizelgesi yapmak

do… whileDöngünün çalışmasını görelim .

Örnek 3: 1'den 5'e kadar Sayıları Görüntüleme

 // Java Program to display numbers from 1 to 5 import java.util.Scanner; // Program to find the sum of natural numbers from 1 to 100. class Main ( public static void main(String() args) ( int i = 1, n = 5; // do… while loop from 1 to 5 do ( System.out.println(i); i++; ) while(i <= n); ) )

Çıktı

 1 2 3 4 5

İşte bu programın işleyişi.

Yineleme Değişken Koşul: i <= n Aksiyon
i = 1
n = 5
kontrol edilmemiş 1 yazdırılır.
i 2'ye çıkarıldı .
1 inci i = 2
n = 5
true 2 yazdırılır.
i 3'e çıkarıldı .
2. i = 3
n = 5
true 3 yazdırılır.
i 4'e çıkarıldı .
3 üncü i = 4
n = 5
true 4 yazdırılır.
i 5'e çıkarıldı .
4. i = 5
n = 5
true 6 yazdırılır.
i 6'ya çıkarıldı .
5 i = 6
n = 5
false Döngü sona erdi

Örnek 4: Pozitif Sayıların Toplamı

 // Java program to find the sum of positive numbers import java.util.Scanner; class Main ( public static void main(String() args) ( int sum = 0; int number = 0; // create an object of Scanner class Scanner input = new Scanner(System.in); // do… while loop continues // until entered number is positive do ( // add only positive numbers sum += number; System.out.println("Enter a number"); number = input.nextInt(); ) while(number>= 0); System.out.println("Sum = " + sum); input.close(); ) )

Çıkış 1

 Bir sayı girin 25 Bir sayı girin 9 Bir sayı girin 5 Bir sayı girin -3 Toplam = 39

Here, the user enters a positive number, that number is added to the sum variable. And this process continues until the number is negative. When the number is negative, the loop terminates and displays the sum without adding the negative number.

Output 2

 Enter a number -8 Sum is 0

Here, the user enters a negative number. The test condition will be false but the code inside of the loop executes once.

Infinite while loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true)( // body of loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1)

In the above programs, the textExpression is always true. Hence, the loop body will run for infinite times.

for and while loops

forAdım sayısının bilindiği zaman döngü kullanılır. Örneğin,

 for (let i = 1; i <=5; ++i) ( // body of loop )

Ve whileve do… whiledöngüler genellikle yineleme sayısı bilinmediğinde kullanılır. Örneğin,

 while (condition) ( // body of loop )

Ilginç makaleler...