Java Programlama

Java Döngüler

► Detaylı anlatım

Bir veya birden fazla işlem satırını, bir koşula bağlı olarak, belirli sayıda veya bir koşul sağlandığı sürece tekrarlayarak çalıştıran kalıplara döngü adı verilir.

Java dilinde for, while ve do while olmak üzere 3 farklı döngü kullanılmaktadır.

Döngülerin genel yapısı aşağıda gösterilmektedir:

for (ilk-değer-atama; koşul; artırma) işlem-satırı;

while (ifade) işlem-satırı;

do {
  işlem-satırı;
  .
  .
} while (ifade);

Döngülerle ilgili olarak 3 temel kavram bulunmaktadır:

1. İlk değer atama
2. Koşul
3. Artırma (Azaltma)

* for döngüsünde bütün kavramlar for satırında yer alan parantezler içinde tanımlanabileceği gibi, ilk değer atama bölümü döngü öncesinde ve artırma/azaltma bölümü döngü kod bloğu içinde tanımlanabilir.

* while döngüsünde ilk değer atama bölümü döngü öncesinde, koşul bölümü while satırında yer alan parantezler içinde, artırma/azaltma bölümü ise koşul sağlandığı takdirde çalışan kod bloğunun içinde tanımlanır.

* do döngüsünde ise, ilk değer atama bölümü döngü öncesinde, koşul bölümü döngü sonundaki while satırında yer alan parantezler içinde, artırma/azaltma bölümü ise döngüye bağlı kod bloğu içinde tanımlanır.

*** do döngüsünün diğer döngülerden en büyük farkı, koşul kontrolü döngü sonunda yapıldığı için, koşul sağlanmasa bile döngünün en az bir kez çalışmasıdır. for ve while döngüleri ise, koşul sağlanmadığı takdirde hiç çalışmaz.

/* javaprog.java */
public class javaprog {
  public static void main(String[] args) {
    int id1;

    for (id1=1; id1<4; id1++) System.out.println(id1);	
	
    id1=1; /* İlk değer atama döngü öncesinde */

    while (id1<4) {
      System.out.println(id1);
      id1++; /* Artırma işlemi döngü kod bloğu içinde */
    }

    id1=1; /* İlk değer atama döngü öncesinde */

    do {
      System.out.println(id1);
      id1++; /* Artırma işlemi döngü kod bloğu içinde */
    } while (id1<4); 	
  }
}

Komut satırında aşağıdaki satırları yazdığınızda program derlenir ve çalışır:

C:\>javac javaprog.java
C:\>java -Dfile.encoding=Cp857 javaprog
1
2
3
1
2
3
1
2
3