Java Leap Year Programs with Code Examples


There are many ways you can check if the inputted year is a leap year or not, but before we get started, let's understand what is a leap year.

What is a Leap Year?

A leap year is that year of the Gregorian calendar when we have an additional day in the year. It is also called as intercalary year or bissextile year. A Leap year will have 366 days instead of 365, this extra day is added to February - 29 days instead of 28.

Logic of identifying a Leap Year

A Year can be considered a leap year if the year is divisible by 4, also if that Year is divisible by 100 it should be also divisible by 400 to be a Leap year.

Some Examples to check Leap Years

Examples:

2019: 2019 is not divisible by 4, hence 2019 is not a leap year.
2020: 2020/4 = 0, 2020/100 is not true: So its a leap year.
1000: 2000/4 = 0, 1000/100=0 is not true, but 1000/400 is not 0, so its not a Leap year.

Java Leap year Examples
Java Leap year Examples

Java Code Example for Leap Year

Example 1:
package org.code2care;


/**
 * This class demonstrate if a
 * year is a leap year or not
 *
 * Author: Code2care
 */
public class LeapYearJava {

    public static void main(String[] args)  {

        int year = 1000;

        if(isLeapYear(year)) {
            System.out.println("Year " + year + " is a Leap Year!");
        } else {
            System.out.println("Year " + year + " is a not Leap Year!");
        }

    }

    /**
     * Leap Year Logic:
     *
     *  Logic:
     *  if the year % 4 == 0
     *      if yes
     *       Check if the year % 100 == 0
     *          if yes
     *              3) Check if year % 400 == 0
     *          if no
     *              Not a Leap Year
     *      if no
     *              Its a Leap Year
     *  if no
     *      Its not a Leap Year
     *
     * @param year int value that represents a year
     * @return true is year is a leap year, else false
     */
    public static boolean isLeapYear(int year) {

        if (year % 4 == 0) {

            if (year % 100 == 0) {

                if (year % 400 == 0) {
                    return true;
                } else {
                    return false;
                }
            } else {
                return true;
            }

        } else {
            return false;
        }
    }
} 
Example 2:

This logic is much clearer to understand,

     /**
     *
     * If year % 4 ! = 0
     *      not leap year
     * else if year % 400 == 0
     *      leap year
     * else if year % 100 == 0
     *      not leap year
     * else
     *     leap year
     * 
     * @param year int value that represents a year
     * @return true is year is a leap year, else false
     */

    public static boolean isLeapYearLogic2(int year) {

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


Have Questions? Post them here!



Recent Posts:




Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and Software Developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include Learnings, Video Tutorials, Code Snippets, How Tos, Blogs, Articles, etc.