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!
Advertisements
Try Out Code2care Dev Tools:

Advertisements



Android Java Linux Microsoft Google Python macOS Notepad++ Microsoft Teams CSS PHP SharePoint Html Linux C Programs Bootstrap jQuery Sublime Android Studio Facebook Eclipse WhatsApp News MySQL Json HowTos JavaScript FTP S3


Advertisements


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, Tutorials, Trouble-Shooting steps, Video Tutorials, Code Snippets, How Tos, Blogs, Articles, etc.
🎉 We are celebrating the 10th years of Code2care! Thank you for all your support! We hope we made a difference.
We strong support Gender Equality & Diversity.

We stand in solidarity with Ukraine - Make a donation to UNHCR - https://donate.unhcr.org/in/en-in/ukraine-emergency