Yazilan programlarda bazen belli komut parçalarinin birçok kez çalismasi gerekebilir. Yani bazi komut parçalarinin, belli sartlar altinda tekrar tekrar islenmesi gerekebilir. Döngü deyimleri, bahsedilen komut parçalarinin belirtilen sartlar gerçeklestikçe tekrar tekrar islenmesini saglar.
Java’da üç tür döngü vardir. Bunlar çogu programlama dilinde olan; “for”, “do-while” ve “while” döngüleridir. Bu döngülerden for ve while döngüsünde, kosul sinamasi döngüye girmeden önce yapilirken, do-while döngüsünde kosul sinamasi bir kod parçasi çalistiktan sonra yapilir.
for ( 1. deger (baslangiç degeri-initialization) ; 2.deger (kosul kontrolü) ; 3.deger (islemler) )
{
. . . . . . . . // sarta bagli tekrarlanmasini istedigimiz kodlar
. . . . . . . .
}
“for” döngüsü görüldügü gibi üç parçadan olusur. Her parça birbirinden ile ayrilir. Ilk parça, baslangiç degeri (initialization) dir. Burada bulunan islemler, döngü baslamadan önce ve bir kere islenir. Bu 1. degere birden fazla islem yazilabilir, bunlari da birbirinden ',' virgül ile ayirmak gerekir. Ancak bu islemleri az tutmanizi tavsiye ederim.
Ikinci parçada, kosul kontrolü yapilir. for döngüsünün her tekrarinda kontrol edilmesi gereken kodu bu kisima yazmak gerekir. Bu kod dogru oldugu surece, döngü devam eder, eger kosul saglanmiyorsa döngüden çikilir.
Üçüncü parçada yer alan kodlar ise; yine döngünün her turunda, süslü parantezin içindeki kodlar gibi çalisir. Tek fark, üçüncü parçadaki kodlarin baslangici, döngünün içinde yer alan kod parçalarinin çalismasindan sonra olur.
Basit bir örnek vermek gerekirse;
for(int deger=5;deger<10;deger++){
System.out.println(deger);
}
Yukaridaki for döngüsünde ilk parçada deger=5 diyerek, degerimizin ilk degerini atamis olduk. Ikinci parça olan deger<10, kosul kismimiz. Döngü her döndügünde “deger” in 10 dan küçük olup olmadigina bakacak. “deger” 10’a esit ya da 10’dan büyük oldugu anda döngü sonlanir. Üçüncü parça olan deger++ kismi ise, System.out.println(deger); çalistiktan sonra döngü döndükçe “deger”in bir artacagini gösteriyor. Sonuç olarak bu kod parçasi ekrana alt alta 5 ten 10 a kadar tüm sayilari yazar. 10 hariçtir. Çünkü deger 9 olarak basildiktan sonra deger++ çalisir. “deger” in degeri 1 artip 10 olur ve döngü kontrolüne girdiginde deger<10 sartini saglamadigi için döngü sonlanir.
Öncelikle while döngüsünden bahsetmek istiyorum. Zaten iki döngüde birbirine çok benzer çok az farklari var. while döngüsünde, while komutu içerisindeki ifade “true” degerini aldigi müddetçe while döngüsünün blogu içerisindeki kod parçalari islenir. Eger while komutu içerisindeki deger “false” degerini alirsa, döngü blogunun çalismasi sonlanir.
while döngüsünün yapisi su sekildedir.
while(expression-ifade){
. . .
}
Tüm döngülerin mantigi aynidir. Herhangi bir döngüyü anlamaniz, diger döngüleri de rahatlikla anlayabileceginiz anlamina gelir. Sik sik kod yazarak, alistirma yaparak bu konuyu pekistirebilirsiniz.
do-while döngüsü ise while döngüsüne çok benzer. while döngüsünden farki; do-while döngüsü kosul çalistirilmadan önce kod blogu bir defa çalisir ve sonra kosula girer. Yani kosul dogru olsa da olmasa da kod blogu bir defa çalismis olur. Bu fark aslinda önemli bir farktir.
do{
. . . . //kod blogu
. . . .
}while(expression-ifade);
Java’da üç tür döngü vardir. Bunlar çogu programlama dilinde olan; “for”, “do-while” ve “while” döngüleridir. Bu döngülerden for ve while döngüsünde, kosul sinamasi döngüye girmeden önce yapilirken, do-while döngüsünde kosul sinamasi bir kod parçasi çalistiktan sonra yapilir.
for döngüsü
yapisi su sekildedir:
for ( 1. deger (baslangiç degeri-initialization) ; 2.deger (kosul kontrolü) ; 3.deger (islemler) )
{
. . . . . . . . // sarta bagli tekrarlanmasini istedigimiz kodlar
. . . . . . . .
}
“for” döngüsü görüldügü gibi üç parçadan olusur. Her parça birbirinden ile ayrilir. Ilk parça, baslangiç degeri (initialization) dir. Burada bulunan islemler, döngü baslamadan önce ve bir kere islenir. Bu 1. degere birden fazla islem yazilabilir, bunlari da birbirinden ',' virgül ile ayirmak gerekir. Ancak bu islemleri az tutmanizi tavsiye ederim.
Ikinci parçada, kosul kontrolü yapilir. for döngüsünün her tekrarinda kontrol edilmesi gereken kodu bu kisima yazmak gerekir. Bu kod dogru oldugu surece, döngü devam eder, eger kosul saglanmiyorsa döngüden çikilir.
Üçüncü parçada yer alan kodlar ise; yine döngünün her turunda, süslü parantezin içindeki kodlar gibi çalisir. Tek fark, üçüncü parçadaki kodlarin baslangici, döngünün içinde yer alan kod parçalarinin çalismasindan sonra olur.
Basit bir örnek vermek gerekirse;
for(int deger=5;deger<10;deger++){
System.out.println(deger);
}
Yukaridaki for döngüsünde ilk parçada deger=5 diyerek, degerimizin ilk degerini atamis olduk. Ikinci parça olan deger<10, kosul kismimiz. Döngü her döndügünde “deger” in 10 dan küçük olup olmadigina bakacak. “deger” 10’a esit ya da 10’dan büyük oldugu anda döngü sonlanir. Üçüncü parça olan deger++ kismi ise, System.out.println(deger); çalistiktan sonra döngü döndükçe “deger”in bir artacagini gösteriyor. Sonuç olarak bu kod parçasi ekrana alt alta 5 ten 10 a kadar tüm sayilari yazar. 10 hariçtir. Çünkü deger 9 olarak basildiktan sonra deger++ çalisir. “deger” in degeri 1 artip 10 olur ve döngü kontrolüne girdiginde deger<10 sartini saglamadigi için döngü sonlanir.
While Ve Do-While Döngüsü
Öncelikle while döngüsünden bahsetmek istiyorum. Zaten iki döngüde birbirine çok benzer çok az farklari var. while döngüsünde, while komutu içerisindeki ifade “true” degerini aldigi müddetçe while döngüsünün blogu içerisindeki kod parçalari islenir. Eger while komutu içerisindeki deger “false” degerini alirsa, döngü blogunun çalismasi sonlanir.while döngüsünün yapisi su sekildedir.
while(expression-ifade){
. . .
}
Tüm döngülerin mantigi aynidir. Herhangi bir döngüyü anlamaniz, diger döngüleri de rahatlikla anlayabileceginiz anlamina gelir. Sik sik kod yazarak, alistirma yaparak bu konuyu pekistirebilirsiniz.
do-while döngüsü ise while döngüsüne çok benzer. while döngüsünden farki; do-while döngüsü kosul çalistirilmadan önce kod blogu bir defa çalisir ve sonra kosula girer. Yani kosul dogru olsa da olmasa da kod blogu bir defa çalismis olur. Bu fark aslinda önemli bir farktir.
do{
. . . . //kod blogu
. . . .
}while(expression-ifade);