logo

Java Döngüleri

GfG Practice'de deneyin İlerlemek' title=

Programlamadaki döngüler, bir dizi talimatın bir koşula bağlı olarak birden çok kez çalıştırılmasına izin verir. Java'da aşağıda açıklanan üç tür Döngü vardır:

1. döngü için

Tekrar sayısını bildiğimizde for döngüsü kullanılır (bir görevi kaç kez tekrarlamak istediğimizi biliyoruz). For ifadesi, başlatma koşulunu ve artırma/azaltma işlemlerini tek satırda içerir. 

Örnek: Aşağıdaki Java programı, 0'dan 10'a kadar sayıları tek bir satırda yazdıran bir for döngüsü göstermektedir.



Java
// Java program to demonstrates the working of for loop import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i <= 10; i++) {  System.out.print(i + ' ');  }  } } 

Çıkış
0 1 2 3 4 5 6 7 8 9 10 

Sözdizimi:

for (başlatma; koşul; artırma/azaltma) {

//çalıştırılacak kod

}

Aşağıdaki resimde for döngüsünün akış şeması gösterilmektedir:

While döngüsü' title=for-döngüsünün akış şeması
  • Başlatma koşulu : Burada kullanılan değişkeni başlatıyoruz. For döngüsünün başlangıcını işaret eder. Önceden bildirilmiş bir değişken kullanılabilir veya bir değişken yalnızca döngü için yerel olarak bildirilebilir.
  • Test Durumu: Bir döngünün çıkış koşulunu test etmek için kullanılır. Bir boole değeri döndürmesi gerekir. Döngü ifadelerinin yürütülmesinden önce koşul kontrol edildiğinden bu aynı zamanda bir Giriş Kontrol Döngüsüdür.
  • Açıklamanın yürütülmesi : Koşul doğru olarak değerlendirildikten sonra döngü gövdesindeki ifadeler yürütülür.
  • Arttırma/Azaltma : Değişkenin bir sonraki yineleme için güncellenmesi için kullanılır.
  • Döngü sonlandırma : Koşul yanlış olduğunda döngü, yaşam döngüsünün sonunu işaretleyerek sona erer.

Not : For döngüsünün şu şekilde bilinen başka bir biçimi vardır: Döngü için geliştirilmiş veya (her döngü için).

c# tarihsaat

Geliştirilmiş for döngüsü (her biri için)

Bu döngü diziler veya koleksiyonlar üzerinde yineleme yapmak için kullanılır.

Örnek : Aşağıdaki Java programı, bir dizi boyunca yineleme yapmak ve adları yazdırmak için Geliştirilmiş for döngüsünü (her döngü için) gösterir.

Java
// Java program to demonstrate  // the working of for each loop import java.io.*; class Geeks {  public static void main(String[] args)  {  String[] names = { 'Sweta' 'Gudly' 'Amiya' };  for (String name : names) {  System.out.println('Name: ' + name);  }  } } 

Çıkış
Name: Sweta Name: Gudly Name: Amiya 

Sözdizimi:

for (dataType değişkeni : arrayOrCollection) {

//çalıştırılacak kod

}

2. while Döngüsü

Döngü gövdesini çalıştırmadan önce koşulu kontrol etmek istediğimizde while döngüsü kullanılır.

Örnek: Aşağıdaki Java programı, 0'dan 10'a kadar sayıları tek bir satırda yazdıran bir while döngüsünü göstermektedir.

Java
// Java program to demonstrates  // the working of while loop import java.io.*; class Geeks {  public static void main(String[] args)  {  int i = 0;  while (i <= 10) {  System.out.print(i + ' ');  i++;  }  } } 

Çıkış
0 1 2 3 4 5 6 7 8 9 10 

Sözdizimi:

while (koşul) {

//çalıştırılacak kod

}

Aşağıdaki resimde bir while döngüsünün akış şeması gösterilmektedir:

minimaks algoritması
While döngüsü yap' loading='lazy' title=While döngüsünün akış şeması
  • While döngüsü Boolean koşulunun kontrol edilmesiyle başlar. Doğru olarak değerlendirilirse döngü gövdesindeki ifadeler yürütülür, aksi takdirde döngüden sonraki ilk ifade yürütülür. Bu nedenle buna Giriş kontrol döngüsü de denir.
  • Koşul doğru olarak değerlendirildikten sonra döngü gövdesindeki ifadeler yürütülür. Normalde ifadeler bir sonraki yineleme için işlenen değişken için bir güncelleme değeri içerir.
  • Koşul yanlış olduğunda döngü sona erer ve bu da yaşam döngüsünün sonunu işaret eder.

3. do-while döngüsü

Do-while döngüsü kod bloğunun çalışmasını sağlar en az bir kez durumu kontrol etmeden önce.

Örnek : Aşağıdaki Java programı, 0'dan 10'a kadar sayıları tek bir satırda yazdıran bir do-while döngüsünü göstermektedir.

Java
// Java program to demonstrates  // the working of do-while loop import java.io.*; class Geeks {  public static void main(String[] args)  {  int i = 0;  do {  System.out.print(i + ' ');  i++;  } while (i <= 10);  } } 

Çıkış
0 1 2 3 4 5 6 7 8 9 10 

Sözdizimi:

Yapmak {

//çalıştırılacak kod

} while (koşul);

Aşağıdaki resimde do-while döngüsünün akış şeması gösterilmektedir:

' loading='lazy' title=Do-while döngüsünün akış şeması
  • do while döngüsü ifadenin çalıştırılmasıyla başlar. İlk defa herhangi bir durumun kontrolü yapılmamaktadır.
  • İfadelerin yürütülmesinden ve değişken değerinin güncellenmesinden sonra koşulun doğru veya yanlış değeri açısından kontrol edilir. Doğru olarak değerlendirilirse döngünün bir sonraki yinelemesi başlar.
  • Koşul yanlış olduğunda döngü sona erer ve bu da yaşam döngüsünün sonunu işaret eder.
  • Do-while döngüsünün, herhangi bir koşul kontrol edilmeden önce en az bir kez ifadelerini çalıştıracağını ve bu nedenle çıkış kontrol döngüsünün bir örneği olduğunu unutmamak önemlidir.

Yaygın Döngü Hataları ve Bunlardan Nasıl Kaçınılacağı

Döngüler doğru kullanılmazsa kod performansının okunabilirliğini ve işlevselliğini etkileyen tuzaklara ve hatalara neden olabilir. Aşağıda döngülerle ilgili bazı yaygın tuzaklar verilmiştir:

1. Sonsuz Döngüler

Bu, herhangi bir döngüyü uygularken en yaygın hatalardan biri, döngünün sonsuz süre boyunca çalışması nedeniyle hiçbir zaman çıkamayabilmesidir. Bu durum herhangi bir nedenden dolayı başarısız olduğunda meydana gelir.

Sonsuz Döngü Türleri:

  • Döngü için sonsuz
  • sonsuz while Döngüsü

Örnek: Burada her iki örnek de sonsuz döngüleri göstermektedir.

Infinite For Loop
// Java program to demonstrate  // the infinite for loop import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i < 5; i--) {  System.out.println(  'This loop will run forever');  }  } } 
Infinite While Loop
// Java Program to demonstrate  // the infinite while loop import java.io.*; class Geeks {  public static void main(String[] args)  {  while(true)  {  System.out.println(  'Basic example of infinte loop');  }  } } 

Çıkış: Yukarıdaki kodların her ikisini de çalıştırdığınızda TLE (Time Limit Exceeded) hatası alırsınız.

2. Birer Birer Hatalar

Birer Birer Hatalar, döngünün istediğinizden bir kez daha fazla veya daha az çalıştırılmasından kaynaklanır. Temel olarak döngü koşulu doğru ayarlanmadığında meydana gelir.

Örnek : Aşağıdaki Java programı, döngünün 6 kez çalıştığı ve bizim 5 kez çalışmasını beklediğimiz bir Off-by-One Hatasını göstermektedir.

Java
// Java Program to demonstrates Off-by-One Errors import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i <= 5; i++) {  System.out.print(i + ' ');  }  } } 

3. Döngü İçinde Döngü Değişkenlerini Değiştirmek

Döngünün içindeki döngü koşulunu (i gibi) değiştirdiğimizde, bu durum döngünün belirli yinelemeleri atlamasına veya beklemediğimiz şekillerde davranmasına neden olabilir. Bu, hatalara veya beklenmeyen davranışlara yol açabilir.

Örnek : Aşağıdaki Java programı, döngünün belirli yinelemeleri atlamasına ve beklenmedik şekilde davranmasına neden olan döngü içindeki döngü değişkeninin değiştirilmesini gösterir.

Java
// Java program demonstrates  // modification in i variable import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i < 5; i++) {  if (i == 2) {    // Modifies the loop variable and skips  // the next iteration  i++;  }  System.out.println(i);  }  } } 

4. Boş Döngü Gövdesi

Bir döngü yinelenecek şekilde yazıldığında ancak döngü içinde herhangi bir işlem gerçekleştirmediğinde boş bir döngü gövdesi oluşur. İçinde herhangi bir yararlı işlem olmayan bir döngüyü çalıştırmak kafa karıştırıcı olabilir.

Örnek: Aşağıdaki Java programı Boş döngü gövdesini göstermektedir.

Java
// Java program to demonstrates Empty loop body import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i < 10; i++) {    // Empty body no operations  }  } } 

Döngünün gövdesi boş olduğundan bunun için herhangi bir çıktı üretilmeyecektir.

Özet Tablosu

Döngü Tipi

Ne Zaman Kullanılmalı

Durum Kontrolü

En Az Bir Kez Yürütülür mü?

java kaçış karakterleri

döngü için

Tam yinelemeler istediğinizde

Döngü gövdesinden önce Giriş kontrollü olarak adlandırılır.

HAYIR

while döngüsü

İhtiyacınız olduğunda ilk önce durum kontrolü yapın.

Döngü gövdesinden önce Giriş kontrollü olarak adlandırılır.

HAYIR

do-while döngüsü

En az bir kez koşmanız gerektiğinde

Döngü gövdesinden sonra Çıkış kontrollü olarak adlandırılır.

Evet

her döngü için

personel seçme komisyonu anlamı

Tüm koleksiyon öğelerini işlerken

Dahili olarak ele alındı

HAYIR

İlgili Gönderiler:

  • döngü için
  • while döngüsü
  • do-while döngüsü
Test Oluştur