Bu programda, Kotlin'de verilen yılın artık yıl olup olmadığını kontrol etmeyi öğreneceksiniz. Bu, if else ifadesi ve when ifadesi kullanılarak kontrol edilir.
Artık yıl, yüzyıl yılları dışında (00 ile biten yıllar) 4'e bölünebilir. Yüzyıl, ancak 400 ile mükemmel bir şekilde bölünebilirse artık bir yıldır.
Örnek 1: if else ifadesini kullanarak Artık Yılı Kontrol Etmek için Kotlin Programı
fun main(args: Array) ( val year = 1900 var leap = false if (year % 4 == 0) ( if (year % 100 == 0) ( // year is divisible by 400, hence the year is a leap year leap = year % 400 == 0 ) else leap = true ) else leap = false println(if (leap) "$year is a leap year." else "$year is not a leap year.") )
Programı çalıştırdığınızda, çıktı:
1900 artık bir yıl değil.
Yukarıdaki programda, verilen 1900 yılı değişken yılda saklanır.
- 1900, 4'e bölündüğünden ve aynı zamanda bir yüzyıl yılı olduğundan (00 ile biten), artık bir yıl için 400'e bölünmüştür. 400 ile bölünemediğinden, 1900 artık bir yıl değildir.
- Ama yılı 2000 olarak değiştirirsek, 4 ile bölünebilir, bir yüzyıldır ve aynı zamanda 400 ile bölünebilir. Yani, 2000 artık bir yıldır.
- Aynı şekilde, yılı 2012 olarak değiştirirsek, 4'e bölünebilir ve bir yüzyıl değil, yani 2012 artık bir yıl. 2012'nin 400'e bölünebilir olup olmadığını kontrol etmemize gerek yok.
İşte eşdeğer Java kodu: Artık Yılı Kontrol Etmek için Java Programı
Örnek 2: Artık Yılı kontrol etmek için Kotlin Programı when ifadesi kullanarak
fun main(args: Array) ( val year = 2012 var leap = false leap = when ( year % 4 == 0 -> ( when ( year % 100 == 0 -> year % 400 == 0 else -> true ) ) else -> false ) println(if (leap) "$year is a leap year." else "$year is not a leap year.") )
Programı çalıştırdığınızda, çıktı:
2012 artık bir yıldır.
Yukarıdaki programda if else ifadesi kullanmak yerine bir when ifadesi kullandık.
when
İfadesi olarak çalışır:
- Yıl 4'e bölündüğünde
when
Yılın 100'e bölünüp bölünemeyeceğini kontrol eden başka bir ifade girilir- Evet ise, yılın 400'e bölünüp bölünmediğini kontrol eder ve geri döner
true
veyafalse
- Evet ise, yılın 400'e bölünüp bölünmediğini kontrol eder ve geri döner
- 100'e bölünemezse, yıl bir yüzyıl değildir (00 ile biten) ve geri döner
true
- Yıl 4 ile bölünemezse, geri döner
false
Sıçrama değerine bağlı olarak, çıktıyı başka bir satır içi kullanarak yazdırır.