Java Program to Find if a Given Year is a Leap Year - GeeksforGeeks

26 Jan, 2022
Leap Year contains 366 days, which comes once every four years. Every leap year corresponds to these facts : 
A century year is a year ending with 00. A century year is a leap year only if it is divisible by 400.
A leap year (except a century year) can be identified if it is exactly divisible by 4.
A century year should be divisible by 4 and 100 both.
A non-century year should be divisible only by 4.
Let’s find out whether a year is a leap year or not.
Without Using Scanner Class
As the name suggests here user is bound not to select a year of his choice. The following program illustrates the way to find out if a year is a leap year: 
Java
// Java program to find a leap year // Importing Classes/Filesimport java.io.*; // Class for leap-year dealingpublic class GeeksforGeeks {     // Method to check leap year    public static void isLeapYear(int year)    {        // flag to take a non-leap year by default        boolean is_leap_year = false;         // If year is divisible by 4        if (year % 4 == 0) {          is_leap_year = true;            // To identify whether it            // is a century year or            // not            if (year % 100 == 0) {                // Checking if year is divisible by 400                // therefore century leap year                if (year % 400 == 0)                    is_leap_year = true;                else                    is_leap_year = false;            }        }        // We land here when corresponding if fails        // If year is not divisible by 4        else            // Flag dealing-  Non leap-year            is_leap_year = false;        if (!is_leap_year)            System.out.println(year + " : Non Leap-year");        else            System.out.println(year + " : Leap-year");    }     // Main Driver Code    public static void main(String[] args)    {        // Calling our function by        // passing century year not divisible by 400        isLeapYear(2000);         // Calling our function by        // passing Non-century year        isLeapYear(2002);    }}
2000 : Leap-year
2002 : Non Leap-year

2000 is a century year divisible by 100 and 4. 2002 is not divisible by 4, therefore not a leap year. 
Using Scanner Class
Here the user is provided the flexibility to enter the year of own choice as Scanner Class is imported here rest the if-else blocks are also combined in a single statement to check if the input year is a leap year. The following program illustrates the way to find out if a year is a leap year: 
Java
// Java program to check Leap-year// by taking input from user // Importing Classes/Filesimport java.io.*; // Importing Scanner Classimport java.util.Scanner; // Class to check leap-year or notpublic class GFG {       // Driver Main code    public static void main(String[] args)    {        // Considering any random year        int year;         // Taking input from user using Scanner Class        // scn is an object made of Scanner Class        Scanner scn = new Scanner(System.in);        year = scn.nextInt();         // 1st condition check- It is century leap year        // 2nd condition check- It is leap year and not        // century year        if ((year % 400 == 0)            || ((year % 4 == 0) && (year % 100 != 0))) {                       // Both conditions true- Print leap year            System.out.println(year + " : Leap Year");        }         else {            // Any condition fails- Print Non-leap year            System.out.println(year + " : Non - Leap Year");        }    }}
 Input:
2012
Output:
2012 : Leap Year
simranarora5sos
amanmalakar007
Java
Java Programs
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Initialize an ArrayList in Java
HashMap in Java with Examples
Interfaces in Java
Object Oriented Programming (OOPs) Concept in Java
ArrayList in Java
Initializing a List in Java
Convert a String to Character array in Java
Implementing a Linked List in Java using Class
Convert Double to Integer in Java
How to Iterate HashMap in Java?