In dit programma leer je controleren of het gegeven jaar een schrikkeljaar is of niet in Kotlin. Dit wordt gecontroleerd met een if else-statement en een when-statement.
Een schrikkeljaar is exact deelbaar door 4 behalve eeuwjaren (jaren eindigend op 00). Het eeuwjaar is alleen een schrikkeljaar als het perfect deelbaar is door 400.
Voorbeeld 1: Kotlin-programma om een schrikkeljaar te controleren met if else-instructie
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.") )
Wanneer u het programma uitvoert, is de uitvoer:
1900 is geen schrikkeljaar.
In het bovenstaande programma wordt het opgegeven jaar 1900 opgeslagen in het variabele jaar.
- Aangezien 1900 deelbaar is door 4 en ook een eeuwjaar is (eindigend op 00), moet het deelbaar zijn door 400 voor een schrikkeljaar. Omdat het niet deelbaar is door 400, is 1900 geen schrikkeljaar.
- Maar als we het jaar veranderen in 2000, is het deelbaar door 4, is het een eeuwjaar en is het ook deelbaar door 400. Dus 2000 is een schrikkeljaar.
- Evenzo, als we het jaar veranderen in 2012, is het deelbaar door 4 en is het geen eeuwjaar, dus 2012 een schrikkeljaar. We hoeven niet te controleren of 2012 deelbaar is door 400 of niet.
Hier is de equivalente Java-code: Java-programma om schrikkeljaar te controleren
Voorbeeld 2: Kotlin-programma om schrikkeljaar te controleren met when-uitdrukking
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.") )
Wanneer het programma wordt uitgevoerd, is de uitvoer:
2012 is een schrikkeljaar.
In het bovenstaande programma hebben we in plaats van een if else-instructie een when-uitdrukking gebruikt.
De when
uitdrukking werkt als:
- Wanneer jaar deelbaar is door 4
- Er wordt een andere
when
uitdrukking ingevoerd die controleert of het jaar deelbaar is door 100- Zo ja, dan controleert het opnieuw of het jaar deelbaar is door 400 of niet, en geeft
true
of terugfalse
- Zo ja, dan controleert het opnieuw of het jaar deelbaar is door 400 of niet, en geeft
- Als het niet deelbaar is door 100, is jaar geen eeuwig jaar (eindigend op 00) en wordt het geretourneerd
true
- Er wordt een andere
- Als jaar niet deelbaar is door 4, keert het terug
false
Op basis van de waarde van de sprong, wordt de uitvoer afgedrukt met een inline als anders.