Kotlin检查是否为闰年

Kotlin 实例大全

在此程序中,您将学习在Kotlin中检查给定年份是否为闰年。使用if else语句和when语句进行检查。

闰年可以被4整除,但以00结尾的世纪年除外。只有在能被400整除的情况下,世纪年才是闰年

示例1:使用if else语句检查Ko年的Kotlin程序

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 不是闰年.")
}

运行该程序时,输出为:

1900 不是闰年.

在上述程序中,给定年份1900存储在变量 year 中。

  • 因为1900年可以被4整除,也是一个世纪年(以00结尾),而闰年是可以被400整除。因为1900不能被400整除,所以1900年不是闰年。

  • 但是,如果我们更改year为2000,则它可以被4整除,是一个世纪年份,也可以被400整除。因此,2000是闰年。

  • 同样,如果我们将年份更改为2012,则该年份可以被4整除,并且不是世纪年份,因此2012是闰年。 我们不需要再检查2012年是否可以被400整除。

以下是等效的Java代码:检查闰年的Java程序

示例2:Kotlin程序使用when表达式来检查闰年

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 不是闰年.")
}

运行该程序时,输出为:

2012 是闰年.

在上面的程序中,我们使用了when表达式,而不是使用if else语句。

when表达式的工作方式如下:

  • 当年(year)可被 4 整除时:

    • 如果能被4整除,则再次检查是否year可被400整除,然后返回true 或 false

    • when输入另一个表达式,检查 year 是否可以被100整除

    • 如果不能除以100,则 year 不是一个世纪年(以00结尾),然后返回 true

  • 如果 year 不能被4整除,则返回 false

根据leap的值,它使用内联if else打印输出。

Kotlin 实例大全