Javada While, Do While Ve For Döngüleri
While ' da yaptığımız kodda bir değişkenin içeriğinin belirli bir şartı karşılaması veya karşılamaması halinde icra edilir.Programımız, while döngüsü içinde iken, sonsuz döngüden kurtarabilmek için, yazıyı yazdırdıktan sonra, Takım değişkenini bir arttırıyor. Aksi taktirde, değişken hiç bir zaman while döngüsünün beklediği şarta kavuşarak 1'e eşit hale gelemeyecektir. (Programı, sondaki "Takım ++;" satırını kaldırarak denerseniz, zararsız bir sonsuz döngünün ne olduğunu görebilirsiniz.)
While örneği;
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String Takımlar[][] = new String[1][4];
int Takım = 0;
int Puan = 0;
while (Takım < 1) {
Takımlar[Takım][0] = JOptionPane.showInputDialog("Takım'ın Adını Giriniz.");
Takımlar[Takım][1] = JOptionPane.showInputDialog(Takımlar[Takım][0] + "Kaç Galibiyet Aldı?");
Takımlar[Takım][2] = JOptionPane.showInputDialog(Takımlar[Takım][0] + "Kaç Beraberlik Aldı?");
Takımlar[Takım][3] = JOptionPane.showInputDialog(Takımlar[Takım][0] + "Kaç Mağlubiyet Aldı?");
Takım++;
}
while (Takım > 0) {
Takım--;
Puan += Integer.valueOf(Takımlar[Takım][1]) * 3 + 1 * (Integer.valueOf(Takımlar[Takım][2]));
}
JOptionPane.showMessageDialog(null, "Takım=" + Takımlar[Takım][0] + "n" + "Galibiyet Sayısı=" + Takımlar[Takım][1] + "n" + "Beraberlik Sayısı=" + Takımlar[Takım][2] + "n" + "Mağlubiyet Sayısı=" + Takımlar[Takım][3] + "n" + "Toplam Puanı=" + Puan);
}
}
Kodun çıktısı;
while da farkettiğiniz gibi, ileri sürdüğümüz şartı, yapmadan önce sınar; ve bu şart ortadan kalkmamışsa (yani henüz doğru değil ise) yapacağı işi yapar; başka bir deyişle while döngüsünün yapacağı iş hiç yapılmayabilir. Fakat sınamanın iş yapıldıktan sonra yerine getirildiği bir şekli de vardır: do-while.
Do-while örneği;
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
int i = 2;
do {
JOptionPane.showMessageDialog(null, i);
i++;
} while (i < 5);//do-while da şarta ulaşana kadar işlem hep dönecektir.Yani i sayısının 5'den bir düşük alt sayıya ulaşana kadar döngü devam edecektir.
}
}
Kodun çıktısı;
Döngünün belirli bir sayıda olmasını ve mesela bu sayının bizim istediğimiz basamaklarda artmasını gerektiriyorsa, döngüyü for ile kurabiliriz.Ayrıca for da while gibi şartın yerine gelmesini sağlayacak arttırma veya eksiltme işlemlerini kendisi yapacağı için, sonsuz döngüye girme tehlikesi de hemen hemen yoktur.
For örneği;
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String sayi = "";
int Rakam = Integer.parseInt(JOptionPane.showInputDialog("Sayı Giriniz"));
for (int i = 0; i < Rakam; i++) {//Burda i ye ne değeri verirsek döngü o değere kadar gidecektir.
if (i % 4 == 0) {
sayi += i + "n";//for döngüsü kendi sayacına verdiğimiz şartı karşılayıncaya kadar kendisini 4'ün modunu alacak, yani buradaki örneğe göre sayi değişkeni vereceğimiz Rakam değerini en son halıne bölene kadar çalışacak ve şart karşılandığı anda, sona erecektir.
}
}
JOptionPane.showMessageDialog(null, sayi);
}
}
Savaş Yılmaz