İçeriğe geç
Educora
Başlangıç14 dk6 / 27

Döngüler: for, while ve for...of

Aynı işi defalarca tekrarlamayı öğren: `for`, `while`, `do...while`, `for...of`, ayrıca `break` ve `continue`.

Kendini test et
Bu derste öğreneceklerin
  • for döngüsünün üç parçasını açıklamak ve sayaçlı döngü yazmak
  • Tekrar sayısı bilinmediğinde while seçmek
  • for...of ile bir listeyi dolaşmak, döngüyü break ve continue ile yönetmek

Öğretmeninin senden 1'den 100'e kadar bütün sayıları yazdırmanı istediğini düşün. 100 kez console.log yazabilirsin, ama bu hem yorucu hem de hataya açıktır. Bilgisayar tekrardan yorulmaz; ona bir döngü ile “bunu 100 kez yap” demen yeterlidir.

for döngüsü

Tekrar sayısı önceden belliyse en uygun seçim for döngüsüdür. Parantezinin içinde noktalı virgülle ayrılmış üç parça vardır:

  1. Başlangıç: let i = 1 — sayaç oluşturulur. Bu yalnızca bir kez, en başta çalışır.
  2. Koşul: i <= 5 — her tekrardan önce kontrol edilir. Yanlış olduğu anda döngü durur.
  3. Adım: i++ — her tekrardan sonra sayacı değiştirir.
JavaScript
for (let i = 1; i <= 5; i++) {
  console.log(`Lap ${i}`);
}

for (let i = 10; i > 0; i -= 3) {
  console.log('Countdown:', i);
}
▸ Beklenen çıktı
Lap 1
Lap 2
Lap 3
Lap 4
Lap 5
Countdown: 10
Countdown: 7
Countdown: 4
Countdown: 1
Tanım
Yineleme (iterasyon)

Döngü gövdesinin bir kez çalışması. 1'den 5'e sayan bir döngü 5 yineleme yapar.

1'den 100'e kadar sayıların toplamı

1 + 2 + 3 + … + 100 toplamını bir döngüyle hesapla.

Çözümü göster
Toplamı tutmak için sum değişkenini 0 ile başlatırız.
Döngü her yinelemede ona sıradaki i'yi ekler: sum += i.
Döngü bitince sum = 5050 olur (aşağıdaki kodu çalıştır).
JavaScript
let sum = 0;

for (let i = 1; i <= 100; i++) {
  sum += i;
}

console.log('Sum:', sum);
▸ Beklenen çıktı
Sum: 5050

while ve do...while

Bazen kaç tekrar gerektiğini bilmeyiz. Örneğin Leyla'nın 50 manatı var ve her ay 20 manat biriktiriyor. 200 manatlık bisiklet için kaç ay gerekir? while döngüsü koşul doğru olduğu sürece tekrarlanır:

JavaScript
let savings = 50;
let months = 0;

while (savings < 200) {
  savings += 20;
  months++;
}

console.log(`${months} months, ${savings} AZN`);
▸ Beklenen çıktı
8 months, 210 AZN

do...while döngüsü koşulu gövdeden sonra kontrol eder; bu yüzden koşul baştan yanlış olsa bile gövde en az bir kez çalışır. Aşağıdaki örnekte koşul yanlış, ama mesaj yine de bir kez yazdırılıyor.

JavaScript
let attempts = 5;

do {
  console.log('Attempt number', attempts);
  attempts++;
} while (attempts < 3);
▸ Beklenen çıktı
Attempt number 5

for...of: bir listeyi dolaşmak

Döngüler çoğu zaman bir listenin her elemanıyla bir şey yapmak için yazılır. Köşeli parantez içindeki listeye dizi (array) denir; onu ayrı bir derste öğreneceğiz. for...of döngüsü bir dizinin ya da string'in elemanlarını tek tek alır; sayaca gerek kalmaz.

JavaScript
const cities = ['Baku', 'Ganja', 'Shaki'];

for (const city of cities) {
  console.log(`I want to visit ${city}`);
}

for (const letter of 'JS') {
  console.log(letter);
}
▸ Beklenen çıktı
I want to visit Baku
I want to visit Ganja
I want to visit Shaki
J
S

break ve continue

break döngüyü hemen durdurur; continue ise yalnızca o anki yinelemenin kalanını atlayıp bir sonrakine geçer. Aşağıdaki kodda çift sayılar continue ile atlanıyor, 7'den büyük bir sayı gelince de break döngüyü bitiriyor.

JavaScript
for (let i = 1; i <= 10; i++) {
  if (i % 2 === 0) {
    continue;
  }
  if (i > 7) {
    break;
  }
  console.log(i);
}
▸ Beklenen çıktı
1
3
5
7
Etkileşimli
Simülasyon yükleniyor…
Doğrusal arama, break kullanan klasik bir döngüdür: elemanları tek tek kontrol eder ve aradığını bulur bulmaz durur.
DöngüNe zaman seçilir
fortekrar sayısı belli ya da sayaç gerekli
whilekaç tekrar olacağı önceden belli değil
do...whilegövde en az bir kez çalışmalı
for...ofbir dizinin ya da string'in her elemanıyla iş yapmak gerekiyor
Alıştırma

Bir for döngüsüyle n sayısının 1'den 5'e kadar çarpım tablosunu yazdır. Her satır şöyle görünmeli: 7 x 3 = 21.

Alıştırma · JavaScript
const n = 7;
// print n x 1 = ... up to n x 5 = ...
▸ Beklenen çıktı
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35

Önemli noktalar

  • for döngüsünün üç parçası vardır: başlangıç, koşul ve adım.
  • while koşul doğru olduğu sürece tekrarlanır; do...while en az bir kez çalışır.
  • for...of bir dizinin ya da string'in elemanlarını tek tek alır.
  • break döngüyü durdurur, continue bir sonraki yinelemeye geçer.
  • Koşulun bağlı olduğu değişkeni değiştirmeyi unutmak sonsuz döngüye yol açar.

Kendini test et

10 soru. Her doğru cevap XP kazandırır.

1 / 10
for (let i = 0; i < 5; i++) kaç kez tekrarlanır?