while - do while Döngüsü
while
Döngüsü
while
Döngüsüİşlemlerin belirli bir koşulun true
olduğu sürece yinelendiği döngüdür. Bu döngü türünde belirli bir koşul olur ve koşulun geçerli olduğu sürece döner. Koşulun geçerli olmadığı durumda döngü başlamaz, biter. Kullanım.
while (kosul) {
//döngü kod bloğu
}
//kodlar...
while
döngüsünde koşul true
veya false
olarak değer alır. Yani yapı şöyledir.
while (true) { // döngüye girilir ve tekrar buraya gelinir.
//döngü kod bloğu
}
// kodlar...
while (false) { // döngüye girilmez. Çıkıştan devam eder.
//döngü kod bloğu
}
//kodlar...
Örnek olarak.
let ePosta;
//eposta adresi bir değer alana kadar döngü devam eder.
while (ePosta == undefined || ePosta == '') {
ePosta = prompt('E-Posta Adresinizi Giriniz.')
}
let toplam;
alert('Toplamı 20 olmayan iki sayı girdiğiniz sürece sürekli uyarı alacaksınız!')
while (toplam != '20') { //toplam 20 olmadığı sürece döngü döner.
let sayi1 = prompt('1.Sayıyı Giriniz:'),
sayi2 = prompt('2.Sayıyı Giriniz:');
toplam = Number(sayi1) + Number(sayi2);
//toplamları 20 olan sayılar yazarsanız döngü sonlanır
}
alert('Döngü Bitti');
let denemeSayisi = 1, pin = '1234';
alert('PIN Kodunu 3 kere deneme hakkınız var.');
while (denemeSayisi <= 3) {
let girilenPin = prompt('Pin Kodunu Giriniz: ');
if (pin === girilenPin) {
denemeSayisi = 5; //3'ten büyük bir değer ile sonraki döngüyü engelledik.
} else {
denemeSayisi++;
}
if (denemeSayisi == 4) { //4'ile hakkını sonlandırdık.
alert('Deneme hakkınız bitmiştir.')
}
if (denemeSayisi == 5) { //5 olduysa bilmiştir. DOĞRU uyarısını verelim.
alert('DOĞRU. Giriş yapılıyor...')
}
}
Bu döngü türüne elle oluşturulan bir sayaç koşul olarak verilirse sayaçlı döngü gibi çalışır. Fakat genel kanı sayaçsız olarak kullanım üzerinedir. Örnekler.
// Genel kullanım
let tcNo = prompt('TC Numaraınızı Giriniz: ');
while ( tcNo.length != 11) { //tcNo uzunluğu 11 olmadığı sürece döner
tcNo = prompt('TC No 11 haneli olmak zorundadır. Tekrar Giriniz: ')
}
alert('TC NO Uzunluğu doğru!');
// Sayaçlı örnek
let i = 1;
while (i <= 3) { //i küçük eşit 3 olduğu sürece
alert(i);
i++;
}
number
tipinde true
sıfır olmayan (0) bir değer, false
ise sıfır (0) değeridir. Örnek.
let sayi = 5;
while (sayi) { //baştan true
alert(sayi);
sayi--; // 0 olunca false olur.
}
string
tipinde ise true
boş olmayan herhangi bir değer, false
ise boş ('') olan değerdir. Örnek.
let karakterDizisi = ' ',
sayac = 1;
while (karakterDizisi) { //baştan true
if (sayac > 3) {
karakterDizisi = ''; // sayac 3'ü geçerse boş değer ile false olur.
} else {
alert(`While Döngüsü Sayacı: ${sayac}`);
}
sayac++;
}
Eğer while
bloklarında tek satırlık kod yazacaksanız blok açmadan aynı satırda da yazabilirsiniz. Örnek.
let i = 3;
while (i) alert(i--);
do while
Döngüsü
do while
Döngüsüdo while
döngüsü ile döngüye ait kod blokları bir kez çalıştırılır ardından koşul kontrol edilir eğer koşul true
ise tekrar başa dönerek döngüye devam eder kodları yeniden çalıştırır, false
ise döngü olarak devam etmez. while
döngüsünden farkı, koşul false
bile olsa kod blokları en az bir sefer yürütülmüş olur.
Örnek olarak.
let i = 0;
do {
i++;
alert(i);
} while(i == 0); // koşul doğru olmasa bile bir kez yürütülmüş olur.
Başka bir örnek olarak.
let ePosta; // ePosta şu an false
//eposta adresi bir değer alana kadar döngü devam eder.
do {
ePosta = prompt('E-Posta Adresinizi Giriniz.');
} while ( !ePosta ); // ePosta değer girilmezse false, değili (!) true
alert(ePosta);
Farklı bir örnek olarak.
let ePosta; // ePosta şu an false
//eposta adresi bir değer ve doğrulaması olana kadar döngü devam eder.
do {
ePosta = prompt('E-Posta Adresinizi Giriniz.');
// ePosta için değer girilirse true olur boşsa false
if ( ePosta && !confirm(`Eposta Adresinizi Onaylayın\n${ePosta}`) ) {
ePosta = '';
}
} while ( !ePosta );
alert(ePosta);
Last updated