Konuya PHP For ve While Döngüleri konusundaki anlatımımla aynı başlıyorum, çünkü temel olarak herşey aynı.
Döngüler tekrar eden işlemleri yapmakta kullanılır. Başlangıçta anlamsız gelebilir ama 100 üyeli bir web sayfanız varsa hepsinin adını tek tek yazmak yerine döngü kullanarak üç satırda işinizi bitirebilirsiniz.
For Döngüsü
For döngüsü verilen artırma değerine göre döner. Dönerken aradaki işlemleri tekrar tekrar yapar. yazılması şu şekildedir.
for( degisken ; dönme şartı ; her dönüşte yapılacak işlem)
degisken: dönmeye ilk başladığı anda bir değişken üretmeyi sağlar
dönme şartı: Buradaki şart aslında bir IF komutudur. sorulan soru doğru ise dönmeye devam eder.
her dönüşte yapılacak işlem: Dönme sırasında herzaman birer birer arttırmak zorunda değilsiniz. bu işlemi değiştirip üçer üçer veya beşer beşer saydırabilirsiniz.
örnek:
int say; for ( say=1 ; say < 10 ; say++ ){ Console.WriteLine(" şu anda " + say + " sayısındayım"); }
bu komutu çalıştırdığınızda. şöyle bir sonuç çıkar:
şu anda 1 sayısındayım
şu anda 2 sayısındayım
şu anda 3 sayısındayım
şu anda 4 sayısındayım
.... Bu şekilde 9 kere devam eder. verilen şart say <10 olduğu için say==10 olduğunda dönme sona erer.
While Döngüsü
While döngüsü üsttekinin biraz daha sade halidir. Fakat sadece sayılar için kullanılmaz. While döngüsü tek bir şarta bağlı olduğu için dikkatli kullanmak gerekir.
Yazılışı:
While (Sorgu)
{
sorgu doğru ise yapılacak işlem
}
örnek: civciv örneğini yapalım.
int civciv=0; while(civciv>0){ Console.WriteLine("Açım"); civciv++; }
Bu örneği çalıştırdığınızda ekrana bir milyon kere Açım yazdığını göreceksiniz. Sebebi ise civciv her zaman 0 dan büyük oluyor ve While her dönüşünde aynı soruyu soruyor, cevap Evet ise dönmeye devam ediyor.
Yukarıdaki örneği aşağıdaki şekilde değiştirdiğimizde ise sadece 10 kere dönecektir.
int civciv=0; while (civciv < 10){ Console.WriteLine("Açım"); civciv++; }
Bu örnekteki en önemli kısım aslında civciv ++ satırıdır, her dönüşte civciv'in değerini 1 artır.
English: https://niyazi.net/en/c-for-and-while-loops
Muhammed Niyazi ALPAY - Cryptograph
Senior Software Developer & Senior Linux System Administrator
Meraklı
PHP MySQL MongoDB Python Linux Cyber Security
Hiç yorum yok