- 4 Eki 2012
- 173
- 37
- 54
Bu yazımda programlamada kullanılan temel döngülerden bahsedeceğim. Bunlar programlamanın olmazsa olmazlarıdır. Unutmayın, bir programlama dilinde uzmanlaştıktan sonra başka bir programlama dilini öğrenmeniz çok uzun bir zaman almaz.
for(Değişken ; Koşul; Değişim miktarı)
{
//Döngü her çalıştığında yapılacak işlemler.
}
For döngüsü, sayacın mantığıyla çalışır. Döngüyü istediğiniz sayıdan başlatır ve istediğiniz sayıda sonlandırırsınız. Değişim miktarını istediğiniz miktarda yapabilirsiniz. Döngü, çalışmadan önce her zaman koşulu kontrol eder ve eğer sağlıyorsa değişim miktarını değişkene uygular, ardından döngüde yapılacak işlemlere geçer. Aşağıda bir örnek for döngüsü verdim. Bu for döngüsü, 0'dan 10'a kadar sayıları 2'şer 2'şer arttırarak yazacaktır.
C#:
for(int i=0;i<=10;i+=2){
Console.WriteLine(i);
}
while (Koşul)
{
//Döngüde yapılacak işlemler.
}
While döngüsü mantık olarak for döngüsüne benzer. Tek farkı, while döngüsünde koşuldaki değişiklikleri döngü içerisinde yapmamızdır. Eğer koşulda kontrol edilen değişkende değişim yapmazsak, döngü sonsuz döngüye girer. For döngüsü ile verdiğiniz örneğin while döngüsüyle yapılmış şekli aşağıdadır:
C#:
int i=0;
while(i<=10){
i+=2;
Console.WriteLine(i);
}
do
{
//Döngüde yapılacak işlemler.
} while (Koşul);
Do-while döngüsü, diğer iki döngüden farklı olarak her zaman bir kez döngüyü çalıştırır ve daha sonra koşulu kontrol eder. En önemli farkı budur. Mantık olarak diğer döngülerle aynıdır. Bu nedenle, koşulun sağlanıp sağlanmadığını döngünün sonunda kontrol etmesi açısından diğer döngülerden ayrılır.Örnek kodumuz aşağıdadır.
C#:
int i=0;
do{
Console.WriteLine(i);
i+=2;
}while(i<=10);
for(int i = 1; i<10; )
{
//Sonsuz döngü.
}
Sonsuz döngü, döngünün koşulunun her zaman sağlanması durumunda döngünün sürekli olarak devam etmesidir. Bu durumda döngü içerisine giren program, döngüden çıkmadan sürekli olarak çalışır. Farklı şekillerde sonsuz döngü oluşturulabilir.
int[,] matris = new int[3, 3]
{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write(matris[i, j] + " ");
}
Console.WriteLine();
}
}
iç içe döngüler, döngülere bir boyut ekleyerek daha karmaşık işlemler gerçekleştirmemizi sağlar. İç içe döngüler sayesinde örneğin iki boyutlu dizilerde işlemler yapabiliriz. Örnek verdiğim döngü 3x3 olan bir matrisi ekrana yazdıracaktır.
C#:
for(int y= 0; y<=10; y++)
{
Console.WriteLine;
if(y==4)
break;
}
C#:
for(int y= 0; y<=10; y++)
{
if(y==4)
continue;
Console.WriteLine;
}
For Döngüsü
C#:for(Değişken ; Koşul; Değişim miktarı)
{
//Döngü her çalıştığında yapılacak işlemler.
}
For döngüsü, sayacın mantığıyla çalışır. Döngüyü istediğiniz sayıdan başlatır ve istediğiniz sayıda sonlandırırsınız. Değişim miktarını istediğiniz miktarda yapabilirsiniz. Döngü, çalışmadan önce her zaman koşulu kontrol eder ve eğer sağlıyorsa değişim miktarını değişkene uygular, ardından döngüde yapılacak işlemlere geçer. Aşağıda bir örnek for döngüsü verdim. Bu for döngüsü, 0'dan 10'a kadar sayıları 2'şer 2'şer arttırarak yazacaktır.
C#:
for(int i=0;i<=10;i+=2){
Console.WriteLine(i);
}
While Döngüsü
C#:while (Koşul)
{
//Döngüde yapılacak işlemler.
}
While döngüsü mantık olarak for döngüsüne benzer. Tek farkı, while döngüsünde koşuldaki değişiklikleri döngü içerisinde yapmamızdır. Eğer koşulda kontrol edilen değişkende değişim yapmazsak, döngü sonsuz döngüye girer. For döngüsü ile verdiğiniz örneğin while döngüsüyle yapılmış şekli aşağıdadır:
C#:
int i=0;
while(i<=10){
i+=2;
Console.WriteLine(i);
}
Do-While Döngüsü
C#:do
{
//Döngüde yapılacak işlemler.
} while (Koşul);
Do-while döngüsü, diğer iki döngüden farklı olarak her zaman bir kez döngüyü çalıştırır ve daha sonra koşulu kontrol eder. En önemli farkı budur. Mantık olarak diğer döngülerle aynıdır. Bu nedenle, koşulun sağlanıp sağlanmadığını döngünün sonunda kontrol etmesi açısından diğer döngülerden ayrılır.Örnek kodumuz aşağıdadır.
C#:
int i=0;
do{
Console.WriteLine(i);
i+=2;
}while(i<=10);
Sonsuz Döngü
C#:for(int i = 1; i<10; )
{
//Sonsuz döngü.
}
Sonsuz döngü, döngünün koşulunun her zaman sağlanması durumunda döngünün sürekli olarak devam etmesidir. Bu durumda döngü içerisine giren program, döngüden çıkmadan sürekli olarak çalışır. Farklı şekillerde sonsuz döngü oluşturulabilir.
İç içe Döngüler
C#:int[,] matris = new int[3, 3]
{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write(matris[i, j] + " ");
}
Console.WriteLine();
}
}
iç içe döngüler, döngülere bir boyut ekleyerek daha karmaşık işlemler gerçekleştirmemizi sağlar. İç içe döngüler sayesinde örneğin iki boyutlu dizilerde işlemler yapabiliriz. Örnek verdiğim döngü 3x3 olan bir matrisi ekrana yazdıracaktır.
Break Komutu
Break komutu döngüyü kırmak yani döngüden çıkmak için kullanılan komuttur. Aşağıda örnek bir kullanım gösterdim.Bu döngü sayıları dörde kadar yazacak ve sonrasında break komutu döngüyü kıracaktır.C#:
for(int y= 0; y<=10; y++)
{
Console.WriteLine;
if(y==4)
break;
}
Continue Komutu
Continue komutu döngüde bir adımı atlatmak için kullanılan komuttur. Bu komut istenilen bir koşulda döngü continue komutuna kadar çalışır ve döngü bir sonraki adıma geçer. Örnek bir kullanım bu sefer program sadece 4 sayısını ekrana yazmayacak.C#:
for(int y= 0; y<=10; y++)
{
if(y==4)
continue;
Console.WriteLine;
}