Kotlin Dersleri #5 – When

Kotlin derslerine when ile devam ediyoruz.

When kelimesini İngilizce’den Türkçe’ye; -dığı zaman olarak çevirebiliriz.
Elimizdeki bir değişkenin değerine göre farklı işlemler yaptırmamızı; farklı kod bloklarının çalıştırılmasını sağlar. Aşağıdaki örnekte nasıl kulanıldığını detaylı görebilirsiniz.
/**
* www.emreakcadag.com
*/

val deger = 1

when (deger) {

1 -> {
println(“deger = 1”)
}

2 -> {
println(“deger = 2”)
}

else -> {
println(“deger 1 ve 2 sayılarından birine eşit değildir.”)
}

}

Örnekte deger adında bir integer değişken tanımladık.
Ardından when ile birlikte kullanıp tek tek istediğimiz değerlere göre -> işaretlerini kullanarak blokları oluşturduk.
Deger değişkeninin aldığı değere göre;
1 ise deger = 1
2 ise deger = 2
1 ve 2 değerlerinden herhangi biri değil ise deger 1 ve 2 sayılarından birine eşit değildir. çıktıları ekrana yazdırılacaktır.

Bu yapı Java – Php – C – C# gibi dillerde switch – case olarak karşımıza çıkar.
Ayrıca kullanımı switch – case yapısına nazaran oldukça kolaydır. Kodun daha okunaklı görünmesi ve fazla – gereksiz kod kalabalığından kurtulmak için kullanılır.
Eğer when kullanmasaydık her koşul için ayrı ayrı if ve else kullanarak karşılaştırma yapmak zorunda kalacaktık.

Örneklerle devam edelim. /**
* www.emreakcadag.com
*/

when (x) {
in 1..10 -> print(“x 1 ve 10 arasında.”)
in validNumbers -> print(“x geçerli bir sayı değil.”)
!in 10..20 -> print(“x 10 ve 20 arasındaki sayılardan biri değil.”)
else -> print(“bunlardan hiçbiri değil.”)
}
/**
* www.emreakcadag.com
*/

val deger = 2

when (deger) {

1, 2 -> {
println(“deger 1 veya 2’ye eşittir.”)
}

else -> {
println(“deger 1 ve 2 sayılarından birine eşit değildir.”)
}

}
/**
* www.emreakcadag.com
*/

val x = 5

when {
x.isOdd() -> print(“x tek sayıdır.”)
x.isEven() -> print(“x çift sayıdır.”)
else -> print(“Geçersiz.”)
}

Gördüğünüz üzere when kullanımı oldukça basit. Bir sonraki derste görüşmek üzere.

Sorularınızı yorum bölümünden iletebilirsiniz.