Kotlin Dersleri – While Döngüsü

Merhaba Arkadaşlar,
Mobilhanem.com üzerinden anlattığımız / yayınladığımız Kotlin Dersleri yazı serimizde bu dersimizde While döngüsünü anlatmaya çalışacağız. While döngüsü neredeyse tüm yazılım dillerinde kullanılan ve kullanımı aynı olan bir döngü çeşididir. Biz bu dersimizde Kotlin dilinde kullanımından bahsetmeye çalışacağız.

Konumuza geçmeden önce bu döngü nedir ne işe yarar diyorsanız, şu şekilde anlatmaya çalışalım. Döngü tekrarlı işlemleri tek tek yapmak yerine bir defada yapmamızı sağlayan yapıdır diyebiliriz. Yani kod yazarken bazı satırları birden fazla defa çalıştırmamız gerekebilir. Örneğin ekrana 10 adet alt alta “Kotlin Dersleri Mobilhanem” yazdırmak istersek bunu döngü olmadan aşağıdaki gibi yaparız.

println("Kotlin Dersleri Mobilhanem")
println("Kotlin Dersleri Mobilhanem")
println("Kotlin Dersleri Mobilhanem")
println("Kotlin Dersleri Mobilhanem")
println("Kotlin Dersleri Mobilhanem")
println("Kotlin Dersleri Mobilhanem")
println("Kotlin Dersleri Mobilhanem")
println("Kotlin Dersleri Mobilhanem")
println("Kotlin Dersleri Mobilhanem")
println("Kotlin Dersleri Mobilhanem")

Yukarıda gördüğünüz gibi aynı kodu 10 defa yazdık. Bu güzel bir yöntem olmadığı zaten belli. Ayrıca burda istenilen 10 defa yazdırılması. Bu sayı bin , onbin, belkide milyon defa bastırılması istenebilirdi. Bu durumda milyon defa alt alta yazmamız beklenemez. İşte bu durumda döngüler bizim imdadımıza yetişir.

Kotlin dilinde while , do – while ve for döngüsü olmak üzere 3 çeşit döngü çeşidi vardır. En çok kullanılan döngü çeşidi for döngüsüdür. Bir sonraki dersimizde for döngüsünü anlatacağız.

While döngüsü

Öncelikle  flowchart gösterimine bakalım.

 

 

 

Yan tarafta gördüğünüz gibi önce while koşuluna bakılıyor, koşul sağlanırsa while kod bloğu içi çalışıyor.

 

 

 

while (koşul) { //koşul true dönerse döngüye girecek
    //döngü içindeki kodlar
}

Yukarıda while döngüsü’nün kısaca kullanım mantığını gösterdik. Şimdi gelelim yukarıda 10 defa alt alta yazdırdığımız “Kotlin Dersleri Mobilhanem” yazısını while içinde yazdırmaya.

var i = 0
while (i < 10)
{ // i 10 dan küçük olduğu müddetçe true dönecektir ve while kod bloğuna girecektir.
  println("Merhaba Mobilhanem")
  i++ //her seferinde i'yi 1 arttırır
}

Konsol çıktısı:
Merhaba Mobilhanem
Merhaba Mobilhanem
Merhaba Mobilhanem
Merhaba Mobilhanem
Merhaba Mobilhanem
Merhaba Mobilhanem
Merhaba Mobilhanem
Merhaba Mobilhanem
Merhaba Mobilhanem
Merhaba Mobilhanem

Yukarıda görüldüğü gibi 10 defa alt alta yazmaktansa while kullanarak bu işlemi kolaylaştırdık. While içine yazılan koşul true oldukça program while kod bloğuna girecek ve işlemleri yapacaktır. Eğer while içine while(true) şeklinde yaparsak burada sonsuz döngüye girecektir ve sürekli while bloğu çalışacaktır. (break ve continue ifadeleri ile döngüden çıkmak mümkün ilerleyen derslerimizde anlatacağız).

Aşağıda bir örnek daha verelim:

1’den 30’a kadar olan sayıların toplamını bulalım:

var toplam = 0
var i = 0
while (i < 30) // i 30 olana kadar çalışacak , 30 olduğu zaman artık while kod bloğuna girmeyecek ve program kaldığı yerden devam edecek
{
  toplam = toplam + i
  i++
}
println("Toplam : " + toplam)


Konsol Çıktısı :
Toplam : 435

NOT: Yukarıdaki kodda eğer i ‘yi i++; şeklinde 1 arttırmazsak, i her zaman 0 olarak kalacak ve her zaman 30 dan küçük kalacaktır.Dolayısıyla sonsuz döngü oluşacaktır.

Do – While Döngüsü

Do while ile while döngüsü arasındaki fark nedir sorusuna cevap verelim öncelikle. Bu sorunun en basit cevabı, while döngüsü ne verilen ifade doğru değil ise yani koşul false dönerse,  kod while döngüsü içerisine hiç girmeden devam eder, do while ‘de ise ifadenin doğru olup olmamasına bakmaksızın döngü bir sefer çalışır ve sonradan koşula bakılır.


 

Do-wile döngüsünün flow chart gösterimi yan taraftaki gibidir. Herhangi bir koşula bakmadan bir sefer do kod bloğu içindeki kod çalışır ve sonrasında , while içindeki koşulun sağlanıp sağlanmaması kontrol edilir. Koşul sağlanırsa do içindeki kod tekrar çalışır. Örnekler ile anlatmaya devam edelim.

 

 

 

 

 

do
{
  println("DoCount is: " + doCount)
  doCount++
}while (doCount < 11)

Konsol çıktısı: 
1
2
3
4
5
6
7
8
9
10

Yukarıda do – while döngüsü ile 1’den 10’a kadar olan sayıları bastırdık ekrana. Peki whilde’dan farkı nerde derseniz aşağıdaki örnekte anlatmaya çalışalım.

var count = 11
while (count < 11) //çalışmayacak
{
  println("Count is: " + count)
  count++
}


var doCount = 11
do  //bir defa çalışacak
{
  println("DoCount is: " + doCount)
  doCount++
}
while (doCount < 11)

Konsol çıktısı:
Docount is: 11

Yukarıdaki örnekte gördüğünüz gibi while döngüsü hiç çalışmadı. Do – while döngüsü ise bir defa çalıştı. Çünkü do – while ‘da döngünün ilk sefer çalışması bir koşula bağlı değildir ve direk çalışır.

do while döngüsü’nü bir kodun döngü içinde kesin bir kez çalışması gerektiği yerlerde kullanılabilir. Umarız do while döngüsünün while döngüsünden farkı açık bir şekilde anlaşılmıştır.

While ve do-while döngüsü dersimizde anlatmak istediklerimiz bu kadar. Bir sonraki dersimizde for döngüsünün kullanımını anlatmaya çalışacağız.

Konu hakkında sorularınızı konu altından ve ya SoruCevap sitemizden sorabilirsiniz.

Tüm Kotlin derslerimiz için tıklayınız.

7

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?