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.
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.
Java Script Dersleri
- Java Script Fonksiyonlar
- Java Script Yazım Kuralları
- Java Script Aritmetik İşlemler
- Java Script Değişkenler
- Java Script'e Giriş
- Java Script Akış Denetimi
- Java Script Döngü Denetimi
- Java Script Mantıksal İşlemler
- Java Script Pencere Komutları
- Java Script Metin Komutları
- Java Script Form Nesnesi
- JavaScript ile Sayfalama
- Java Script Diziler
- Java Script Zaman Komutları
- Java Script Matematik Komutları
- Java Script Olaylar
- Java Script ve DHTML
- Java Script Doküman Nesnesi
- Java Script Pencere Nesnesi
- Java Script Gözatıcı Komutları
- Java Script Olay Komutları
- Java Script Sayfa Nesnesi
- Java Script Tablo