# Java 程序：检查闰年

> 原文： [https://beginnersbook.com/2017/09/java-program-to-check-leap-year/](https://beginnersbook.com/2017/09/java-program-to-check-leap-year/)

在这里，我们将编写一个 java 程序来检查输入年份是否是闰年。在我们看到该程序之前，让我们看看如何确定一年是否是数学上的闰年：
要确定一年是否是闰年，请按以下步骤操作：

1.  如果年份可被 4 整除，转到步骤 2.否则，转到步骤 5\.
2.  如果年份可以被 100 整除，请转到步骤 3.否则，转到步骤 4\.
3.  如果年份可以整除到 400，转到步骤 4.否则，转到步骤 5\.
4.  年份是闰年（有 366 天）。
5.  这一年不是闰年（它有 365 天）。

[这些步骤的来源](https://support.microsoft.com/en-in/help/214019/method-to-determine-whether-a-year-is-a-leap-year)。

## 示例：用于检查输入年份是否为跳跃的程序

这里我们使用`Scanner`类来获取用户的输入，然后我们使用`if-else`语句编写逻辑来检查闰年。要理解这个程序，你应该具备以下[核心 Java 教程](https://beginnersbook.com/java-tutorial-for-beginners-with-examples/)的概念：
→ [`If-else`语句](https://beginnersbook.com/2017/08/if-else-statement-in-java/)
→[Java 程序：读取输入数字](https://beginnersbook.com/2017/09/java-program-to-read-integer-value-from-the-standard-input/)

```java
import java.util.Scanner;
public class Demo {

    public static void main(String[] args) {

    	int year;
    	Scanner scan = new Scanner(System.in);
    	System.out.println("Enter any Year:");
    	year = scan.nextInt();
    	scan.close();
        boolean isLeap = false;

        if(year % 4 == 0)
        {
            if( year % 100 == 0)
            {
                if ( year % 400 == 0)
                    isLeap = true;
                else
                    isLeap = false;
            }
            else
                isLeap = true;
        }
        else {
            isLeap = false;
        }

        if(isLeap==true)
            System.out.println(year + " is a Leap Year.");
        else
            System.out.println(year + " is not a Leap Year.");
    }
}
```

**输出：**

```java
Enter any Year: 
2001
2001 is not a Leap Year.
```