Java Script Döngü Denetimi
Java Script Döngü Denetimi
Bu sayfamızda döngü denetimini ve bu döngü oluşturan döngü deyimlerinin üzerinde duracağız. Bunlar while..., do...while... ve for....
"while" Döngü Deyimi
Öğreneceğimiz ilk döngü deyimi: while (Türkçesi: öyleyken). Bu deyimin yapısı şöyledir:
while (koşul ifadesi) işlem
birden fazla işlem söz konusuysa,
while (koşul ifadesi)
{
İŞLEMLER
}
Bu deyimdeki koşul ifadesi sağlandığı sürece deyimdeki işlemler sürekli; bir döngü oluşturacak şekilde, kendisini tekrarlar. Bu işlemler öyle olmalıdır ki belli bir sayıda çevrimden sonra bu koşul ifadesini sağlamasın ve döngüden çıksın, aksi takdirde döngü sonsuza kadar devam eder. Örnek mi?
Javascript:
<html>
<head>
<title>Döngü Deyimleri</title>
<script language="JavaScript">
//Fonksiyonu hazırlıyoruz.
function mesaj()
{
document.write("<h1>Cameron Diaz</h1>")
}
</script>
</head>
<body>
<script language="JavaScript">
var a=1
while (a == 1) mesaj()
</script>
</body>
</html>
Heh he. Kötü şakaydı, kabul ediyorum. Öyle birşey yapmalısınız ki sonunda döngü sona ermeli ve kendini tekrar etmeyi bırakmalı. Mesela beş defa Cameron Diaz yazalım.
Javascript:
<html>
<head>
<title>Döngü Deyimleri</title>
<script language="JavaScript">
//Fonksiyonu hazırlıyoruz.
function mesaj()
{
document.write("<h1>Cameron Diaz</h1>")
}
</script>
</head>
<body>
<script language="JavaScript">
var a=1
while (a < 6)
{
a++
mesaj()
}
</script>
</body>
</html>
Bu uygulamadaki while döngüsünü yakın plana alalım. Döngünün koşul ifadesi a değişkeninin 6`dan küçük olmasıdır. Yani a değişkeninin değeri 6`dan küçük olduğu sürece süslü parantez içindeki işlemler birbirini tekrar edip duracak. Ama bu sonlu bir döngü, bilgisayarımızı kilitleme tehlikesi yok. Çünkü işlemin içinde a`nın değeri her çevrimde 1 artıyor. Ayrıca her çevrimde bir kez "Cameron Diaz" yazılıyor. Beş çevrim sonunda a değişkeni 6 değerine ulaştığı için, 6. çevrim yapılmaz ve döngü sona erer.
"do... while" Döngü Deyimi
do...while deyimi ile while deyimi arasında işlevsel olarak fark yok gibi görünür, ancak do...while deyiminde koşul ifadesi altta bulunur; ve koşul değerlendirmesi işlemi çevrimden önce değil, sonra yapılır. Deyiminin yapısı şöyledir:
do
İŞLEMLER
while (koşul ifadesi)
birden fazla işlem söz konusuysa,
do
{
İŞLEMLER
}
while (koşul ifadesi)
Şu birden fazla işlem söz konusuysa, deyimini devam ettirmenin sanırım gereği kalmadı. Zekasına sonsuz saygı duyduğum okuyucular anlamıştır ki süslü parantez birden fazla işlemi; tek komutla harekete geçirmek için, bir araya toplamaya yarar.
Javascript:
<html>
<head>
<title>Döngü Deyimleri</title>
<script language="JavaScript">
//Fonksiyonu hazırlıyoruz.
function kare(sayi)
{
y = sayi * sayi
return y
}
</script>
</head>
<body>
<script language="JavaScript">
var a=1
do
{
document.write("<b>" + a + "</b> sayısının karesi = <b>" + kare(a) + "</b><br>")
a++
}
while (a < 101)
</script>
</body>
</html>
Yukarıdaki uygulama 1`den 100`e kadar tüm sayıların karesini buluyor. Sizler bu yazılımı hem görsel hem de işlevsel olarak geliştirebilirsiniz.
"for" Döngüsü
Şimdi sıra for... döngü deyimine geldi. Bu deyimin yapısı aşağıdaki gibidir:
for ( başlama noktası; koşul ifadesi; adım ifadesi)
{
İŞLEMLER
}
for döngüsünü belirleyen üç ifade var: başlama noktası, koşul ifadesi, adım ifadesi. Başlama noktası, döngünün hangi sayıdan başlayacağını belirler: i = 0 gibi. Koşul ifadesini daha önceki deyimlerden biliyoruz; koşul ifadesi aracılığıyla döngü devam eder: i <= 10 gibi. Adım ifadesi ise döngünün kaçar kaçar sayacağını belirleriz. Örneğin birer birer saymasını istiyorsak i++ değerini, ikişer ikişer saymasını istiyorsak i+=2 değerini kullanırız. Bu adımlar artırma (pozitif) yönlü olmak zorunda değil, azalma (negatif) yönlü de olabilir: i-- gibi.
Örneğin 75`den 1000`e kadar 25`er adımlı sayan bir yazılım geliştirelim.
Javascript:
<html>
<head>
<title>Döngü Deyimleri</title>
</head>
<body>
<script language="JavaScript">
var i
for (i = 75; i <= 1000; i += 25)
{
document.write("Sayı = " + i + "<br>")
}
</script>
</body>
</html>
Şimdi de 1000`den geriye doğru 10`ar 10`ar -100`e kadar sayalım.
Javascript:
<html>
<head>
<title>Döngü Deyimleri</title>
</head>
<body>
<script language="JavaScript">
var i
for (i = 1000; i >= -100; i -= 10)
{
document.write("Sayı = " + i + "<br>")
}
</script>
</body>
</html>
Koşul deyimlerini kullanarak bir döngü yaratmak da mümkün. Ama bunun için etiket kullanmalıyız. Etiketler yazılım kodları içindeki çeşitli başlama noktalarıdır. Etiketin ismi ve ":" işaretinden oluşur, örneğin BASLA: gibi. Yazılımın BASLA: ifadesine gitmesi ve oradan devam etmesini istiyorsak goto BASLA komut ve ifadesini kullanırız. Bir koşul deyimi ve etiketle nasıl döngü oluşturulduğunu aşağıdaki uygulamayla gösterebiliriz.
Javascript:
<html>
<head>
<title>Döngü,</title>
</head>
<body>
<script language="JavaScript">
var i=75
DONGU:
if (i <= 1000)
{
document.write("Sayı = " + i + "<br>")
i += 25
goto DONGU
}
</script>
</body>
</html>
Döngüler bir işlemi istediğimiz kadar tekrar etmeye yarayan, programların ayrılmaz bir parçasıdır. Java ve C`de de döngü ifadeleri JavaScript`in aynısıdır. Diğer dillerde ise birazcık değişik ama çok benziyor. Diğer sayfalarda görüşmek üzere.