do...while döngüsü
En az bir kez çalışan do...while döngüsünü ve while'dan farkını öğrenirsin.
do...while döngüsü
do...while döngüsü, gövdeyi önce çalıştırır, koşulu sonra sınar. Bu yüzden gövde en az bir kez çalışır. Buna sonrakoşullu döngü denir.
let i = 1;
do {
console.log(i);
i++;
} while (i <= 3);Burada i ilk değeriyle yazdırılır, sonra artırılır. Koşul i <= 3 doğru oldukça döngü sürer. Çıktı: 1, 2, 3. Koşul baştan yanlış olsa bile gövde bir kez çalışır.
do...while ne zaman kullanılır?
do...while döngüsü, gövdenin en az bir kez çalışması gereken durumlarda kullanışlıdır. Klasik örnek, bir zar atıp istenen sonucu bulana kadar devam etmektir.
let roll;
do {
roll = Math.floor(Math.random() * 6) + 1;
console.log(roll);
} while (roll !== 6);Burada zar en az bir kez atılır. 6 gelirse döngü biter; gelmezse tekrar atılır. Böylece rastgele bir olayın belirli bir koşulu sağlaması beklenir.
Uygulama 1'den 3'e kadar yazdır
Bir do...while döngüsü ile 1'den 3'e kadar sayıları console.log ile yazdır. Sayacı her adımda bir artır.
Örnek çözümü göster
let i = 1;
do {
console.log(i);
i++;
} while (i <= 3);
Uygulama Zar at, 6 gelene kadar sür
Bir do...while döngüsü ile zar at. Her adımda Math.floor(Math.random() * 6) + 1 ile 1–6 arası zar üret ve roll değişkenine ata. Değeri console.log(roll) ile yazdır. 6 gelene kadar devam et.
Örnek çözümü göster
let roll;
do {
roll = Math.floor(Math.random() * 6) + 1;
console.log(roll);
} while (roll !== 6);
Kendini test et
-
do...while döngüsünde koşul ne zaman sınanır?
- Döngüden önce
- Yalnızca ilk adımda
- Gövde her çalıştıktan sonra
- Yalnızca hata durumunda
Cevabı göster
Gövde her çalıştıktan sonra — do...while gövdeyi önce çalıştırır, koşulu sonra sınar. Bu yüzden gövde en az bir kez çalışır.
-
1, 2, 3 yazdıran do...while'ı tamamla
let i = 1; do { console.log(i); i++; } while (i !== ____);Cevabı göster
let i = 1; do { console.log(i); i++; } while (i !== 4); -
Döngü türünü senaryoyla eşleştir
- for
- sayısı bilinen tekrar
- while
- koşul önceden bilinmeyen
- do...while
- en az bir kez çalışacak