Šajā programmā jūs iemācīsities pārbaudīt, vai dotais gads Kotlīnā ir lēciena gads vai nav. Tas tiek pārbaudīts, izmantojot paziņojumu if else un when.
Pārlēktais gads ir precīzi dalāms ar 4, izņemot gadsimta gadus (gadus, kas beidzas ar 00). Gadsimta gads ir lēciena gads tikai tad, ja tas ir pilnīgi dalāms ar 400.
1. piemērs: Kotlin programma, lai pārbaudītu Leap Year, izmantojot if else paziņojumu
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.") )
Palaidot programmu, izeja būs:
1900. gads nav lēciena gads.
Iepriekš minētajā programmā 1900. gads tiek glabāts mainīgajā gadā.
- Tā kā 1900. gads dalās ar 4 un ir arī gadsimta gads (beidzas ar 00), tad tā garāžā ir dalāma ar 400. Tā kā tas nav dalāms ar 400, 1900. gads nav lēciens.
- Bet, ja mēs mainām gadu uz 2000. gadu, tas dalās ar 4, ir gadsimta gads un dalās arī ar 400. Tātad 2000. gads ir lēciena gads.
- Tāpat, ja mēs mainām gadu uz 2012. gadu, tas dalās ar 4 un nav gadsimta gads, tātad 2012. gads ir garais gads. Mums nav jāpārbauda, vai 2012. gads ir dalāms ar 400 vai nē.
Šeit ir ekvivalents Java kods: Java programma, lai pārbaudītu Leap Year
2. piemērs: Kotlin programma, lai pārbaudītu Leap Year, izmantojot izteiksmi
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.") )
Palaidot programmu, izeja būs:
2012. gads ir lēciena gads.
Iepriekš minētajā programmā tā vietā, lai izmantotu paziņojumu if else, mēs izmantojām izteicienu When.
when
Izteiksme darbojas kā:
- Kad gads dalās ar 4
when
Tiek ievadīts vēl viens izteiciens, kas pārbauda, vai gads dalās ar 100- Ja jā, tā atkal pārbauda, vai gads dalās ar 400, vai nē, un atgriež
true
vaifalse
- Ja jā, tā atkal pārbauda, vai gads dalās ar 400, vai nē, un atgriež
- Ja tas nav dalāms ar 100, gads nav gadsimta gads (kas beidzas ar 00) un atgriežas
true
- Ja gads nav dalāms ar 4, tas atgriežas
false
Pamatojoties uz lēciena vērtību, tas izdrukā produkciju, izmantojot inline, ja citādi.