English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Programm lernen Sie, wie Sie in Kotlin überprüfen, ob ein gegebenes Jahr ein Schaltjahr ist. Überprüfen Sie dies mit if else- und when-Ausdrücken.
geteilt werden kann4teilbar ist, kann ein Schaltjahr sein400 teilbar ist, dann ist ein Jahrhundertjahr ein Schaltjahr, aber mit Ausnahme der Jahrhundertjahre, die mit 00 enden. Nur wenn es durch
fun main(args: Array<String>) { val year = 1900 var leap = false if (year % 4 == 0) { if (year % 100 == 0) { //year ist teilbar durch400 teilbar, daher ist es ein Schaltjahr leap = year % 400 == 0 } else leap = true } else leap = false println(if (leap) "$year ist ein Schaltjahr." else "$year ist kein Schaltjahr.") }
Bei der Ausführung dieses Programms wird ausgegeben:
1900 kein Schaltjahr.
Im obigen Programm ist das gegebene Jahr1900 im Variablen year gespeichert ist.
weil1900 können400 können Schaltjahre sein,400 teilbar, ist auch ein Jahrhundertjahr (mit 00 endend), und Schaltjahre sind teilbar durch1900 nicht teilbar ist.400 teilbar, also1900 Jahr ist kein Schaltjahr.
aber wenn wir year in2000 teilbar sein, dann kann es durch4teilbar und ein Jahrhundertjahr ist, kann es auch durch400 teilbar. Daher2000 ein Schaltjahr ist.
wenn wir das Jahr ändern2012kann das Jahr4teilbar und kein Jahrhundertjahr, daher2012Schaltjahr. Wir müssen nicht noch überprüfen2012Jahr geteilt werden kann400 teilbar.
Hier ist das äquivalente Java-Code:Java-Programm zur Überprüfung von Schaltjahren
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 ist ein Schaltjahr." else "$year ist kein Schaltjahr.") }
Bei der Ausführung dieses Programms wird ausgegeben:
2012 ist ein Schaltjahr.
Im obigen Programm wurde der when-Ausdruck verwendet, anstatt if else-Anweisungen zu verwenden.
Arbeitsweise des when-Ausdrucks:
year teilbar ist 4 Wenn es durch
teilbar ist4Bei ganzzahligem Quotienten wird erneut überprüft, ob year durch400 teilbar ist, dann wird true oder false zurückgegeben
Wenn another Expression den Ausdruck year überprüft, ob es durch100 teilbar ist
Wenn es nicht durch100 teilbar ist, dann ist year kein Jahrhundertjahr (endet mit 00) und wird true zurückgegeben
Wenn year nicht durch4Bei ganzzahligem Quotienten wird false zurückgegeben
Abhängig vom Wert von leap, wird mit inline if else ausgegeben.