# Leap Year Program in Java : is 2024 a leap year?

## Introduction

Ever wondered why we have leap years in our calendar? Well, it’s all about keeping our calendar year in sync with the actual astronomical year, which is approximately 365.2422 days long. Our usual calendar year has 365 days. But, after every 4 years, we need to add an extra day (0.2422 * 4 = 1 day approximately.). That extra day? That’s the leap day!

In the Gregorian calendar (today’s calendar) leap years come around every four years. So, for every three “normal” years with 365 days, we throw in an extra day to create a leap year with 366 days.

So, in simple terms, a leap year is like a bonus year with 366 days instead of the usual 365.

We’ll explore how to determine whether a given year is a leap year in Java, in this blog post. We’ll break down the **leap year program in ****Java**, and suggest some tips and tricks to make it easy to understand (especially if you’re new to programming!).

*Enroll now and take the first step towards a successful career. **Click here** to join our courses today!*

## Leap Year Calculation in Java

To determine if a year is a leap year in Java, you can use a simple algorithm.

Here’s simple logic:

- Leap year is either divisible by 4 or 400.
- However, if a year is also divisible by 100, it is not a leap year, unless…

Let’s explain this logic in brief:

### Step 1: Divisible by 4

A year has the potential to be a leap year if it is divisible by 4. This is the starting point of our leap year calculation.

**For Example:** Imagine you have a number, let’s say, 2024. We want to find out if 2024 could be a leap year.

Step 1 says: “If a year is divisible by 4, it has the potential to be a leap year.”

To check if 2024 is divisible by 4, you simply perform a division:

2024 ÷ 4 = 506.

Here, you can see that **2024 divided by 4 equals 506**. Since there’s no remainder (506 is a whole number), we can say that 2024 is divisible by 4. This means it has passed the first test on its way to becoming a leap year. It has the “potential” to be a leap year because it’s divisible by 4.

**Note:** This is just the first step in our leap year calculation. We’ll still need to check a couple more conditions to be sure.

**Step 2: Divisible by 100**

If a year is divisible by 100, it may not be a leap year. This is because some multiples of 100 are not leap years. For example, the year 1900 was divisible by 4 and 100, but it was not a leap year.

Let’s take the year 1900 as our example. We want to determine if 1900 is a leap year.

Step 2 says:- “If a year is divisible by 100, it might not be a leap year.”

To check if 1900 is divisible by 100, you perform a division:

1900 ÷ 100 = 19.

Here, you can see that 1900 divided by 100 equals 19. So, 1900 is divisible by 100. According to Step 2, this should make it a non-leap year.

Now, you might wonder why 1900, which is divisible by 4 and 100, isn’t considered a leap year when Step 1 **(divisible by 4)** would suggest otherwise.

This is an exception to the “leap year rule”. It is not a leap year even if it is divisible by 4, because it’s also divisible by 100. We skip this year and don’t consider a leap year in these kinds of cases.

So, remember, Step 2 helps us identify these exceptions where a year, despite being divisible by 4, might not be a leap year if it’s also divisible by 100.

**Step 3: Divisible by 400**

If a year is divisible by 400, it overrides the previous rule and is considered a leap year. For instance, the year 2000 was divisible by 4, 100, and 400, so it was a leap year.

We’ll use the year 2000 for this illustration.

Step 3 says: “If a year is divisible by 400, it overrides the previous rule and is considered a leap year.”

To check if 2000 is divisible by 400, you perform the division:

2000 ÷ 400 = 5.

Here, you can see that 2000 divided by 400 equals 5. This means 2000 is divisible by 400.

Now, why is 2000 a leap year, even though it’s divisible by 100 as well (according to Step 2)?

Well, Step 3 comes into play. When a year is divisible by 400, it overrides the previous rule from Step 2. So, in this case, 2000 is indeed a leap year because it’s divisible by 400.

This special rule ensures that some years divisible by 100 are still considered leap years when they are also divisible by 400. It’s like a leap year exception to the exception!

**To summarize:-**

If a year is divisible by 400, it’s a leap year. Its divisibility by 100 doesn’t matter as long it is divisible by 4.

**Java Code to Check for Leap Year**

Let’s see how to execute this algorithm in the Java code.

### Leap Year Program In Java:

In this Java leap year program:-

- The
**“isLeapYear”**method takes an integer**“year”**as an argument. It returns**“true”**if it’s a leap year and**“false”**otherwise. - The “main” method demonstrates how to use the
**“isLeapYear”**function by checking if the year 2024 is a leap year. You can change the**“year”**variable to test different years.

**Tips and Tricks**

Here are some tips and tricks to help you understand and work with leap years in Java:

**Modulus Operator (%):**The modulus operator (%) calculates the remainder when one number is divided by another. We use it to check if a year is divisible by a certain number (4, 100, 400) in leap year calculations.**Nested Conditions:**Leap year determination involves multiple conditions. Nesting if statements allows us to apply these conditions in the correct order.**Readability:**You can simplify the isLeapYear method by directly returning the result of the condition.

**For example:**

**Test Different Years:**To better understand how leap year calculations work, test the code with various years, including both leap and non-leap years.

**Documentation:**Consider adding comments to your code to explain the logic and purpose of each part. The use of comments explaining every necessary part of the code is really helpful for others to understand your code.

*Level up your skills in Full Stack With Java Development. **Enroll now** and become an expert. *

## Different Methods To Find Leap Year In Java

### 1) Using Conditional Statements (if-else)

Now, let’s explore briefly leap year program in java with conditional statement (if-else) and understand how it works:

#### i) isLeapYear Method

The **“isLeapYear”** Method takes an integer year as its input parameter and returns a boolean value (True or False) if it is a leap year.

Inside this method, we use conditional statements (if and else) to apply the leap year rules we discussed earlier:

- (year % 4 == 0 && year % 100 != 0) checks if the year is divisible by four but not divisible by 100. This condition corresponds to the first rule of leap years:- “If a year is divisible by 4, it has the potential to be a leap year.”
- || is the logical OR operator. It means that the entire expression is true if the first OR the second condition is True. This is because a leap year must satisfy either the first or the next condition.
- (year % 400 == 0) checks if the year is divisible by 400. This condition corresponds to the third rule of leap years: “If a year is divisible by 400, it overrides the previous rule and is considered a leap year.”

So, the **“isLeapYear”** method returns true if any of these conditions is met, indicating that the year is a leap year, and false otherwise, meaning it’s not a leap year.

**ii) main Method**

In the main method, we demonstrate how to use the “**isLeapYear”** method. Here’s what it does:

- It initializes an integer variable year with the value 2024. You can change this value to any year you want to check for leap year status.
- It calls the
**“isLeapYear”**method with the year variable as an argument. - Depending on the result (true or false) returned by
**“isLeapYear”**, it prints a message indicating whether the year is a leap year or not using**System.out.println**.

So, when you run this program with the year set to 2024, it will output: “2024 is a leap year.” because 2024 satisfies the conditions we discussed earlier for a leap year.

**Also Read:** Addition Of Two Numbers In Java

### 2) Using the Java 8 java.time API:

Starting with Java 8, you can use the java.time package to determine leap years easily.

### 3) Using the GregorianCalendar class:

This method uses the “GregorianCalendar” class. It is part of the Java standard library and provides a convenient way to handle calendar-related calculations (including leap year checks!).

**Also Read:** Addition Of Two Numbers In Java

## FAQ

### Is 2024 a leap year?

Yes, as per the leap year logic, 2024 has 29 days in Feb month , so 2024 is leap year.

### What is the leap year program in Java?

The leap year program in Java is a piece of code that checks whether a given year is a leap year or not. It typically uses conditional statements to apply the rules for determining leap years that we discussed in this blog.

### Is it a leap year formula?

A year is a leap year if it’s divisible by 4, except for years divisible by 100 but not divisible by 400.

### Why is leap year divided by 400?

Dividing by 400 is a rule to make an exception for certain years divisible by 100 (e.g., 1900) to still be considered leap years if they’re also divisible by 400.

### How many leap years?

There are a total 97 leap years in a 400-year cycle in the Gregorian calendar.

**Also Read:** How To Reverse A Number In Java

## Conclusion

We can write a Leap year program in Java by understanding and using a very simple algorithm (using the modulus operator). By practicing with different years and understanding the conditions, you’ll become more confident in working with leap years in your Java programs.

**Keep Learning & Keep Growing!!!**