在此程序中,您將學(xué)習(xí)在Kotlin中檢查給定年份是否為閏年。使用if else語句和when語句進(jìn)行檢查。
閏年可以被4整除,但以00結(jié)尾的世紀(jì)年除外。只有在能被400整除的情況下,世紀(jì)年才是閏年
fun main(args: Array<String>) { val year = 1900 var leap = false if (year % 4 == 0) { if (year % 100 == 0) { //year 能被400整除,因此是閏年 leap = year % 400 == 0 } else leap = true } else leap = false println(if (leap) "$year 是閏年." else "$year 不是閏年.") }
運(yùn)行該程序時(shí),輸出為:
1900 不是閏年.
在上述程序中,給定年份1900存儲在變量 year 中。
因?yàn)?900年可以被4整除,也是一個(gè)世紀(jì)年(以00結(jié)尾),而閏年是可以被400整除。因?yàn)?900不能被400整除,所以1900年不是閏年。
但是,如果我們更改year為2000,則它可以被4整除,是一個(gè)世紀(jì)年份,也可以被400整除。因此,2000是閏年。
同樣,如果我們將年份更改為2012,則該年份可以被4整除,并且不是世紀(jì)年份,因此2012是閏年。 我們不需要再檢查2012年是否可以被400整除。
以下是等效的Java代碼:檢查閏年的Java程序
fun main(args: Array<String>) { 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 是閏年." else "$year 不是閏年.") }
運(yùn)行該程序時(shí),輸出為:
2012 是閏年.
在上面的程序中,我們使用了when表達(dá)式,而不是使用if else語句。
when表達(dá)式的工作方式如下:
當(dāng)年(year)可被 4 整除時(shí):
如果能被4整除,則再次檢查是否year可被400整除,然后返回true 或 false
when輸入另一個(gè)表達(dá)式,檢查 year 是否可以被100整除
如果不能除以100,則 year 不是一個(gè)世紀(jì)年(以00結(jié)尾),然后返回 true
如果 year 不能被4整除,則返回 false
根據(jù)leap的值,它使用內(nèi)聯(lián)if else打印輸出。