‫Artık bir initialize yarışını nasıl bildireceğinizi ve nasıl kullanacağınızı bildiğinize göre, bir dizinin tüm
‫değerlerini almak veya bir diziye değer koymak vb. için bir for each döngüsü kullanma veya for each döngüsünü tanıma
‫zamanı geldi.
‫Şimdi devam edelim ve nums adını vereceğim yeni bir dizi oluşturalım.
‫Yani sadece bazı sayılar içerecek ve nums eşittir new int olacak, diyelim ki on değeri var,
‫yani bu dizide on değer olmalı ve hepsi tam sayı olmalı.
‫Daha sonra, bu tamsayı dizisine değerler koymak istiyorum, bu yüzden burada for döngüsünü kullanarak
‫başlayacağız ve sadece sıfır ile başlayacağım I küçük on ve I artı artı.
‫Burada yaptığım şey, basitçe indeksinin değerini değerin kendisine atamaktır.
‫O zaman devam edelim ve sadece ben diyelim.
‫Böylece sıfır konumunda sıfır değeri indekste sıfır, bir değeri ise bir olacaktır.
‫Tamam.
‫Yani bu for döngüsüyle yaptığımız şey hemen hemen budur ve dokuza kadar, yani ondan daha düşük olana kadar.
‫Yani dokuza kadar.
‫O halde devam edelim ve bunun ne anlama geldiğini görelim.
‫Dolayısıyla, döngü boyunca ilerlemek ve tüm değerleri görmek için
‫yine bir for döngüsü kullanabiliriz. for INT ve burada j kullanacağım ve j eşittir sıfır j düşük on j artı artı.
‫Ve şimdi sadece CW çift dokunuşunu almak istiyorum ve burada sıfır konumundaki öğeyi alıyorum.
‫Bu yüzden sadece dizimden değerleri almak istiyorum ve bu bire eşit olacak.
‫Burada ihtiyacım olan şey J ve J'nin konumundaki nums.
‫Yani bu indeks ve bu da gerçek değer olacaktır.
‫Ve son olarak, bir noktada, hepimizin kullanıcının çıktısını veya girdisini beklememiz gerekir.
‫Tamam.
‫O zaman bunu çalıştıralım.
‫Ve sonra bir sıfır elementi, 1'den 3'e kadar ve benzeri şeyler elde ediyoruz.
‫Yani burada yaptığım şey basitçe buydu.
‫Bunu, diyelim ki I'yı girmek istemiyorum şeklinde değiştirebiliriz.
‫I artı 10'a girmek istiyorum.
‫Tekrar çalıştıralım.
‫Ve sıfır konumunda, on değerine sahibiz.
‫Birinci pozisyonda 11 değerine sahibiz ve bu böyle devam eder.
‫Tamam.
‫Dolayısıyla, dizin için dizinin kendisiyle aynı değer olması gerekmez.
‫Bu da yapmanın bir yolu.
‫Ancak burada yaptığımız şey oldukça riskli.
‫Örneğin, 11'e kadar veya 11'in altında dersem, yani 10'a kadar anlamına gelirse, bir dizin sınır dışı istisnasıyla
‫veya aslında aralık dışı istisnasıyla karşılaşırım.
‫Bunun anlamı, dizinin aralık dışında kalan bir indeksine erişmeye çalışmasıdır, bu da dizinin
‫aralığı içinde değildir çünkü dizinin yalnızca on aralığı vardır ve biz 11. konumuna erişmeye çalışıyoruz
‫ve bu işe yaramayan bir şeydir.
‫Bu yüzden bu hatayı alıyoruz.
‫Bundan kaçınmak için iki çözümümüz var.
‫Bunlardan biri uzunluk özelliğini kullanırız, yani yalnızca uzunluk ne kadar uzunsa, o kadar çok değere sahip olmak
‫isteriz.
‫Bu yüzden tekrar çalıştırıyoruz ve artık hata almıyoruz.
‫Şimdi sorun yok.
‫Alternatif bir yol da her döngü için kullanmaktır.
‫Şimdi her bir döngü için yapıya bir göz atalım.
‫İlk olarak, her biri için anahtar sözcüğünü kullanırız ve ardından parantez içinde yeni bir değişken oluştururuz.
‫Ben ona K diyeceğim.
‫Ve sonra tekrar, dizi adında yeni bir anahtar sözcük diyorsunuz.
‫Yani rakamlarla.
‫Yani burada sahip olduğumuz nums dizisinin adı bu.
‫Bu yüzden K adında bir değişken oluşturalım ve tüm diziyi çalıştıralım.
‫Bu da bize aslında aynı şeyi verecektir.
‫Ancak düzgün bir şekilde çalıştırmak için bir sayaca ihtiyacımız var çünkü konumunu da bilmek istiyorum.
‫Bu yüzden sadece bir sayaç oluşturacağım ve konsol sağ satır ifadesini bir kez daha buradan kullanacağım.
‫Yani elimizde bir eleman var ve şimdi bu bir J ve nums, ama bu sayaç ve K.
‫Yani K aslında belirli bir indeksteki sayıların değeridir.
‫Yani önce indeks sıfırda, sonra indeks birde, sonra indeks ikide ve bu şekilde devam eder.
‫Peki nums'da kaç girişimiz var?
‫Hepsi arasında döngü yapacak ve her döngüde K'nin bulunduğu indeksin geçerli değeri olduğunu
‫söyleyecektir.
‫Yani önce indeks sıfırda, sonra indeks birde, indeks ikide ve bu şekilde devam eder.
‫Eğer bunu tekrar çalıştırırsan.
‫10'dan 19'a ve sonra tekrar 10'dan 19'a çıktığımızı görüyoruz.
‫Tamam.
‫Yani buradaki her bir döngü için, buna oldukça benzer.
‫Döngü için de aynı şeyi yapar.
‫Yani basitçe dizinin içinden geçiyor ve oldukça etkili bir şekilde kullanılabiliyor, bu da oldukça havalı.
‫Peki for döngüsüne karşı for each'in tüm amacı nedir?
‫Buradaki fikir, K'nın aslında dizinin kendi değerleriyle aynı türe sahip olmasıdır.
‫Bu durumda, döngü değeri olarak her zaman bir tamsayıya sahip oluruz.
‫Yani döngü değeri bu j'dir veya normalde bu for döngüsünde örneğin bir I'dir.
‫Bu nedenle, for döngüsü ile döngü yaptığımızda her zaman bir tamsayıdır, ancak for each döngüsü ile veri
‫türü her zaman dizininkidir.
‫O zaman sınırları belirtmenize gerek kalmaz, böylece ne zaman başlayıp ne zaman bittiğini söylemenize
‫gerek kalmaz, her zaman sadece dizinin kendisinden bilir.
‫Diyelim ki dizide beş değer var, o zaman beş kez çalıştırılması gerektiğini bilir.
‫Şimdi performans açısından, çoğu durumda, bir for döngüsü E for each döngüsünden daha hızlıdır.
‫Ancak daha derine inmek istiyorsanız, kendiniz kontrol etmelisiniz.
‫Bu nedenle karmaşık for each ve for döngüleri oluşturun ve hangisinin daha iyi performans gösterdiğini görmek için bunları birbirlerine karşı test edin.
‫Tamam.
‫Şimdi, size küçük bir meydan okuma.
‫Sadece buraya yazacağım.
‫Tamam.
‫Yani bu oldukça basit.
‫En iyi beş arkadaşınızla bir dizi oluşturun.
‫Veri türü açık olmalıdır ve ardından hepsini karşılayan bir for each döngüsü oluşturun.
‫Bu yüzden videoyu yayınlayın ve bunu yapmaya çalışın.
‫Tamam.
‫Umarım denemişsinizdir.
‫Bu yüzden buradaki tüm kodlardan kurtulacağım.
‫Ve bir dizi oluşturacağım.
‫String, dostlarım, Michael'a eşittir.
‫Lutz, Elia, Andy ve Daniel.
‫Doğru.
‫Yani bunlar benim arkadaşlarım.
‫Ve şimdi hepsinin içinden geçen for each döngüsünü oluşturdum.
‫Yani arkadaşlarımın adı.
‫Ve şimdi hepsini selamlayalım.
‫Yani, CW çift dokunuşlu konsol, değil mi?
‫Merhaba.
‫Ve ben sıfır kullanacağım.
‫Haydi, dostum.
‫Ve bu da isim olacak.
‫Ve son olarak konsolun sonunda, programı görebilmemiz veya bitirebilmemiz ya da çözebilmemiz için sağ tuş.
‫O zaman bunu çalıştıralım.
‫İşte buradayız.
‫Merhaba, Michael, dostum.
‫Merhaba, dostum.
‫Ya arkadaşım ya da diğerleri.
‫Artık bunu tüm arkadaşlarıma okuyabiliyorum ve bunu manuel olarak yapmama gerek kalmadı.
‫Teker teker.
‫Bunun için basitçe bir for each döngüsü yazdım ve hepsini karşıladım.
‫Yani bu zaten çok basit bir bot.
‫Basitçe arkadaşlarımızla anlaştık ve bu daha karmaşık olabilir, diyelim ki burada bir e-posta
‫listesi oluşturabiliriz ve daha sonra bir e-posta hizmeti veya posta hizmeti oluşturabiliriz, bu daha sonra bir e-posta oluşturacak
‫ve bunu hepsine tek tek gönderecektir.
‫Ve bunu otomatik olarak bir for each döngüsü ile yapacağız.
‫Tamam.
‫Böylece yarışın nasıl kullanıldığını gördünüz, ancak yarış hakkında bilinmesi gereken daha çok şey var.
‫Bir sonraki videoda buna bir göz atacağız.
‫Orada görüşürüz.