Çözüldü For döngüsünde anlamadığım soru

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

RawShed

Megapat
Katılım
19 Temmuz 2015
Mesajlar
365
Çözümler
4
Arkadaşlar cevap 4 ama anlamadığım yerler var. Continue deyimi ile 2'yi ekrana yazdırmadı ve sonucun 0, 1, 3 olması gerekmez mi? İ'yi döngünün kapsamı içerisinde yazdırdığımda ekran çıktısı 4 fakat döngünün kapsam alanı dışında yazdırdığımda 0, 1, 3 sonucu alıyorum. Sebebi ne olabilir?

JavaScript:
for(let i=0;i<=3;i++ ){
    if(i===2){
      continue;
  }
}
console.log(i); //4

//

for(let i=0;i<=3;i++ ){
    if(i===2){
      continue;
  }
console.log(i); // 0 1 3
}
 

Dosya Ekleri

  • Ekran görüntüsü 2020-11-19 132552.png
    Ekran görüntüsü 2020-11-19 132552.png
    6,4 KB · Görüntüleme: 66
Çözüm
Küme parantezi ({ }) olmayan ifadeler tek satırlıktır. Senin yazdığın Javascript hali yanlış.
Aslında döngü dönüp bitiyor. i'nin son değerini yazdırıyor.

continue keyword'ü döngü içerisindeki devamında olan işlemleri es geçip sonraki aşamaya geçer.
Yani döngü i'yi 0, 1, 2, 3, 4 yapıyor. 4 olunca i <= 3 ifadesi yanlış olduğu için döngüden çıkıyor.

Sonunda da cout i'yi yazdırıyor. Yani cevap 3.

Javascript için ise aşağıdaki şekilde oluyor bildiğim kadarıyla. Dile hakim değilim, hatam olabilir.

Kod:
let i;
for (let i = 0; i <= 3; i++){
    if(i===2){
        continue;
    }
}

console.log(i);
Küme parantezi ({ }) olmayan ifadeler tek satırlıktır. Senin yazdığın Javascript hali yanlış.
Aslında döngü dönüp bitiyor. i'nin son değerini yazdırıyor.

continue keyword'ü döngü içerisindeki devamında olan işlemleri es geçip sonraki aşamaya geçer.
Yani döngü i'yi 0, 1, 2, 3, 4 yapıyor. 4 olunca i <= 3 ifadesi yanlış olduğu için döngüden çıkıyor.

Sonunda da cout i'yi yazdırıyor. Yani cevap 3.

Javascript için ise aşağıdaki şekilde oluyor bildiğim kadarıyla. Dile hakim değilim, hatam olabilir.

Kod:
let i;
for (let i = 0; i <= 3; i++){
    if(i===2){
        continue;
    }
}

console.log(i);
 
Son düzenleme:
Çözüm
Yazdırma komutunu döngünün içerisine aldığında döngüde dönen değerlerin hepsi yazdırılmak isteniyor. Yazdırılmayan tek değer 2. Çünkü if bloğu sayesinde 2 döndüğü zaman continue devreye giriyor. Artık continue komutundan sonraki satırların bir önemi olmadan değer 3'e dönüyor. Bu sayede de 2 yazdırılmıyor.
 
Yazdırma komutunu döngünün içerisine aldığında döngüde dönen değerlerin hepsi yazdırılmak isteniyor. Yazdırılmayan tek değer 2. Çünkü if bloğu sayesinde 2 döndüğü zaman continue devreye giriyor. Artık continue komutundan sonraki satırların bir önemi olmadan değer 3'e dönüyor. Bu sayede de 2 yazdırılmıyor.
Sonuç 4 nasıl çıkıyor hala anlamadım.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı