Javascript Döngü Yapıları

'Java & Javascript' forumunda Ander tarafından 16 May 2020 tarihinde açılan konu

  1. Ander

    Ander Site Yetkilisi Administrator

    Katılım:
    28 Nis 2020
    Mesaj:
    81
    Alınan Beğeniler:
    13
    Javascriptte farklı döngüler bulunmaktadır.Bunlar;
    for
    for in
    while
    do while

    1-For Döngüsü:
    Söz dizimi ile başlayalım…
    for ( A ; B ; C )

    { D; }

    [​IMG]

    Biz yukarıdakilerden “for in” döngüsünü özellikle diziler konusunda göreceğiz.

    Yukarıyı anlatalım şimdi öncelikle 3 parametre alır for döngüsü ilki yani A dediğimiz yere başlangıç değeri yazılır mesela 1’den 100’e kadar olan sayı mı listelenecek oraya başlangıç değeri olarak x=1 ya da istediğiniz bir değişken adını kullanarak başlangıç değeri vermeniz gerekir.

    B dediğimiz yere ise koşul yazılır yukarıdaki örnekten gidecek olursak 1’den başlattık ve bu kaç olana kadar devam etsin böyle şeklinde soru soran program burda cevabını alır.Mesela x<=100 gibi…

    C dediğimiz yere ise artış miktarı yazılır bir anlamda kaç defa ve nasıl döneceğinin belirlendiği yerdir.Yukarıya devam ettiğimizde mesela buraya her defasında bir bir artması için x++ yada x=x+1 yazılabilir.
    D dediğimiz yer zaten tüm işlerimizi yapılmasını istediğimiz kodlar yazılır.Mesela her dönmesinde x’i yazdırmak istiyorsak kodumuz ********.write(x);dersek yan yana 100’e kadar yazdıracaktır.
    Bir örnek uygulama ile anlatımımızı for için bitirelim.Uygulamamız for ile çarpım tablosu yapmak üzerine olacaktır.3’ler dahil olmak üzere bir çarpım tablosunu oluşturalım.


    var s1;

    var s2=1;

    for(s1=1;s1<11;s1++)

    {********.write(s2+"*"+s1+"="+(s2*s1)+"<br>");}

    ********.write("------------------------------------"+"<br>");

    s2=2;

    for(s1=1;s1<11;s1++)

    {********.write(s2+"*"+s1+"="+(s2*s1)+"<br>");}

    ********.write("------------------------------------"+"<br>");


    s2=3;

    for(s1=1;s1<11;s1++)

    {********.write(s2+"*"+s1+"="+(s2*s1)+"<br>");}

    2-While Döngüsü:
    Söz dizimi ile başlayalım…

    WHILE ( KOŞUL )

    { KODLAR....; }


    Yukarıda ki söz dizimine göre while döngüsünü açıklayalım.Öncelikle while döngüsü KOŞUL sağlandığı sürece süslü parantez içindeki kodları çalıştırır.Bazı durumlarda While döngüsü koşulu hiç sağlamadığı için kodlar hiç çalıştırılmayadabilir.

    Örnek bir uygulama ile konumuzu pekiştirelim.Mesela kullanıcıdan bir sayı girmesini isteyelim ve yazacağımız kodlarla kullanıcının girdiği sayıya kadar toplama işlemini gerçekleştirelim.Örnek olarak dışarıdan kullanıcı 3 girdiğinde bunun çıktısını bize 3+2+1=6 olarak versin kodları aşağıdaki gibi olacaktır.

    var sayi,i=0,topla=0;

    sayi=prompt("Sayı","Bir sayı giriniz");

    while(i<=sayi)

    {topla=topla+i;

    i++;

    }

    ********.write("Toplam=",topla);

    3- Do While Döngüsü:
    Söz dizimi ile başlayalım…

    DO { İŞLEMLER; }

    WHILE ( KOŞUL )


    Yapısını anlatacak olursak önce işi yapar sonra koşula bakar.DO -> Yapmak WHILE -> iken anlamına geldiğine göre YAP İşlemi KOŞUL Doğru İken manası da çıkarılabilir.Peki While döngüsü ile arasında ki fark nedir?Çok basit bir fark var aslında kodlama da kodlar yukarıdan aşağıya doğru çalıştığı için DO geldiği anda kod bloğunun içindeki işlemler çalışmaktadır.Yani do while’da koşul sağlamasa dahi en az bir kere kod bloğu çalışır.Fakat while’da durum böyle değildir.Koşul sağlamıyorsa hiç çalışmayadabilir.

    Şimdi basit bir örnek uygulama ile derse son verelim.Ekrana 10 defa “Merhaba Dünya” yazan scripti do-while döngüsü ile yazalım.

    var i=0;

    do{********.write("Merhaba Dünya"+"<br>");i++;

    }

    while(i<=9)


    Yukarıda da görüldüğü üzere i=0’dan başlayıp 9 dahil aldığından 10 defa do içerisindeki çalışacağından 10 defa “Merhaba Dünya” yazacaktır.Eğer koşul sağlamasa bile 1 defa “Merhaba Dünya” yazısını görecektik.Peki işlemler içindeki i++ yapmasaydık ne olurdu.İşte o zaman koşul her zaman sağlanacağından “Sonsuz Döngü” oluşacak ve sonsuz defa “Merhaba Dünya” yazmaya çalışacak ve program donacaktır.​

Bu Sayfayı Paylaş