Aynı komut grubunun birden fazla çalışması gerektiği durumlarda döngü yapılarından yararlanılmaktadır. Böylece işlemlerimizin daha hızlı ve kolay olması sağlanmaktadır.
While Döngüsü de döngü komutlarından birisi olup, çalışacak olan komutların tekrar sayılarının belli olduğu durumlarda kullanılabileceği gibi genellikle tekrarlanacağının önceden belli olmadığı, istenilen bir durum gerçekleşene kadarki durumlarda ( Örneğin klavyeden esc tuşuna basana kadar belli komutların çalışması gibi ) kullanılması uygundur.
While( şart)
{
..
Komutlar
..
}
Şartınız doğru olduğu sürece parantezler içerisindeki komutların çalıştırılmasını sağlamaktadır.
O yüzden while döngüsünde şartınızı belirlerken çok dikkatli olmanız gerekmektedir.
Örneğin;
1’den 3’e kadarki sayıları ekrana yazdırma
While dögüsünde bu işlemi yaptırabilmek için bir sayaç değişkenimizin tanımlı olması gerekmektedir.
For döngüsünü hatırlarsak, böyle bir işlemi aşağıdaki şekilde yapıyorduk;
for(i=1; i<=3; i++)
{
alert(i);
}
Sayaç değişkenimizi 1 olarak tanımlıyorduk, kaça kadar gideceğini yazıyorduk ve artış miktarı olarak 1’er 1’er olacağını belirliyorduk.
Aynı işlemi while döngüsü ile yaparsak;
Sayaç değişkenimizi while şartını sağlayabilmesi için döngüye girmeden önce tanımlamamız gerekiyor
var i=1;
While(i<=3)
{
alert(i);
i++;
}
Adım adım çalıştırdığımızda;
- i değişkenine 1 değeri aktarılır,
- While döngüsüne girer ve i’yi kontrol eder i=1 için i<=3 mü? Evet şartı sağladığı için döngünün içerisine girer ve döngü içerisindeki komutları çalıştırır, Ekrana i değişkeninin değeri olarak 1 değerini yazar ve i’nin değerini 1 artırır. ’nin yeni değeri böylece 2 olur.
- Döngünün başına yeniden dönüp i değerini kontrol eder. i=2 için i<=3 mü? Evet, şartını sağlar ve yeniden döngüye girer Ekrana i değişkeninin değeri olarak 2 değerini yazar, i değerini 1 artırır ve i’nin yeni değeri 3 olur.
- Döngü başına yeniden döner ve i değerini kontrol eder. i=3 için i<=3 mü? Evet, i’nin değeri 3’e eşit olduğu için şartı sağlar ve yeniden döngüye girer. Ekrana 3 değerini yazdırır. İ değişkeninin değerini 1 artırır. Ve i’nin yeni değeri 4 olur.
- Döngü başına yeniden döner ve i değerini yeniden kontrol eder. i=4 için i<=3 mü? Hayır, i değişkeninin değeri 3’ten küçük veya eşit değil, şartı sağlamadığından dolayı döngüden çıkar.
Böylece şartımız sağlanana kadar döngü içerisindeki komutları 3 kere çalıştırmış oluruz.
i=1 başlangıç değerine göre,buradaki şart değerimizi artırırsak;
- i<=10 için döngü içerisindeki komutlarımız 10 kere çalışacaktır,
- İ<=100 için döngü içerisindeki komutlarımız 100 kere çalışacaktık.
- i<5 için döngü içerisindeki komutlarımız 4 kere çalışacaktır. (Çünkü burada <= ifadesi olmadığı için i=5 için döngümüz çalışmayacaktır.
Sonsuz Döngü
While Döngüsünde sayaç değişkeninin değerinin artırılması çok önemlidir. Eğer sayaç değişkeninin değer artım işlemini yaptırmazsanız döngümüz sonsuz döngüye girer.
i=1;
While(i<=3)
{
alert(i);
}
Adım adım çalıştırdığımızda;
- i değişkenine 1 değeri aktarılır,
- While döngüsüne girer ve i’yi kontrol eder i=1 için i<=3 mü? Evet şartı sağladığı için döngünün içerisine girer ve döngü içerisindeki komutları çalıştırır, Ekrana 1 değerini yazar
- En başa yeniden dönüp i değerini kontrol eder. i=1 için i<=3 mü? Evet, şartı sağlar ve yeniden döngüye girer Ekrana yeniden 1 değerini yazar, çünkü i’nin değeri değişmiyor.
- Döngü başına yeniden döner ve i değerini kontrol eder. i=1 için i<=3 mü? Evet, şartı sağlar ve yeniden döngüye girer. Ekrana yeniden 1 değerini yazar, çünkü i’nin değeri değişmiyor.
- Döngü başına yeniden döner.
- Burada gördüğünüz gibi sonsuza kadar ekrana hep 1 değerini yazar. Döngünün dışına çıkamaz. Çünkü i’nin değeri hiç değişmiyor ve hep şartı sağlıyor. Bu tarz döngülere sonsuz döngü diyoruz.