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, while
ve do… while
döngüler hakkında bilgi edineceksiniz .
Döngü sırasında Java
Java while
döngüsü, belirli bir koşul karşılanana kadar belirli bir kodu çalıştırmak için kullanılır. while
Döngünün sözdizimi şöyledir:
while (testExpression) ( // body of loop )
Buraya,
- Bir
while
ilmek değerlendirir textExpression parantez içinde()
. - Eğer textExpression olarak değerlendirilirse
true
, içeride kodwhile
döngü yürütülür. - TextExpression tekrar değerlendirilir.
- Kadar bu süreç devam textExpression olduğunu
false
. - 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ı

Ö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.
while
Kullanıcı negatif bir sayı girene kadar döngü devam eder. Her yineleme sırasında, kullanıcı tarafından girilen sayı sum
değ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… while
Döngü sırasında döngü benzerdir. Ancak, do… while
dö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,
- Döngünün gövdesi ilk olarak yürütülür. Daha sonra textExpression değerlendirilir.
- Eğer textExpression olarak değerlendirilirse
true
, iç döngünün gövdesido
deyimi tekrar yürütülür. - TextExpression kez daha değerlendirilir.
- Eğer textExpression olarak değerlendirilirse
true
, iç döngünün gövdesido
deyimi tekrar yürütülür. - Bu işlem textExpression değerlendirilene kadar devam eder
false
. Ardından döngü durur.
Yapmak için akış çizelgesi… while döngüsü

do… while
Dö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
for
Adı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 while
ve do… while
döngüler genellikle yineleme sayısı bilinmediğinde kullanılır. Örneğin,
while (condition) ( // body of loop )