原文: https://www.programiz.com/java-programming/examples/leap-year

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

除世纪年份(以 00 结尾的年份)外,闰年可精确地除以 4。 只有将世纪完全除以 400,世纪年才是闰年。

示例:检查闰年的 Java 程序

  1. public class LeapYear {
  2. public static void main(String[] args) {
  3. int year = 1900;
  4. boolean leap = false;
  5. if(year % 4 == 0)
  6. {
  7. if( year % 100 == 0)
  8. {
  9. // year is divisible by 400, hence the year is a leap year
  10. if ( year % 400 == 0)
  11. leap = true;
  12. else
  13. leap = false;
  14. }
  15. else
  16. leap = true;
  17. }
  18. else
  19. leap = false;
  20. if(leap)
  21. System.out.println(year + " is a leap year.");
  22. else
  23. System.out.println(year + " is not a leap year.");
  24. }
  25. }

运行该程序时,输出为:

  1. 1900 is not a leap year.

year的值更改为 2012 时,输出将是:

  1. 2012 is a leap year.

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

由于 1900 除以 4 也是一个世纪年(以 00 结尾),因此,年已除以 400。 由于不能被 400 整除,因此 1900 年不是闰年。

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

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