Yazılan kodlarda belirli satırların birden fazla tekrar edilmesi istenebilir. Böyle durumlarda döngü yapıları kullanılır. Döngü yapılarında, döngünün kaç kere tekrar edeceği dinamik olarak belirlenebilir. Hatta döngünün tekrarlaması bir koşula bağlanabilir.
For döngüsü: İçerisinde tanımlanan değişkenin değeri, büyüklük koşulunu sağladığı sürece döngü devam eder. Her döngü turu tamamlandığında, yeni tura geçmeden önce değişkenin değeri bir arttırılır ve koşul test edilir. Eğer koşul hala geçerli ise döngü turu başlar. Koşulun geçerliliği bittiğinde döngü biter ve program kaldığı yerden devam eder.
Örneğin 5 kere tekrar eden for döngüsü yazalım.
for(int i =0; i < 5; i ++){
/*
Burası 5 kere okunacak
program buraya her uğradığında i değeri bir arttırılacak
i değeri 5'e ulaşana kadar döngü devam edecek
i değeri 5 olduğu zaman döngü bitecek
*/
}
While döngüsü: While döngüsü genellikle bir koşula bağlanır. Eğer koşul doğru ise döngü devam eder. Koşul bozulduğunda döngü biter ve program kaldığı yerden devam eder. Örneğin while dışında 'h' değişkeni tanımlayalım. Bu değişkenin ilk değeri 5 olsun. Eğer 'h' değişkeni 100'den küçükse döngü devam etsin. Döngünün her turunda da 'h' değişkeninin değeri 2 katına çıksın.
Dikkat: Her döngüde iki katına çıkan değişkenlerin bulunduğu kodlarda genellikle ilk değişken hatası yapılmaktadır. Değişkenin ilk değeri kesinlikle belirlenmeli ve çarpma işlemi olduğu için bu değer '0' olmamalıdır. Aksi durumda koşul sonsuza kadar doğru olur ve döngü hiçbir zaman sona ermez.
int h = 5;
while( h < 100){
/*
Burası h değişkeni 100den küçük olduğu sürece çalışacak
*/
h = h * 2;
/*
Üst satırdaki h'ı iki katına çıkartma işlemi alttaki satırdaki gibi de tanımlanabilirdi
h *= 2;
Eğer h'ın değeri arttırılmazsa döngü koşulu doğru olduğu için döngü sonsuza kadar devam edecektir
*/
}