
There are many ways you can check if the inputted year is a leap year or not using Java, 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 Code Example for Leap Year
Example 1:
package org.code2care;
/**
* Leap year program Java
*
* This Class demonstrates 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,
/**
* Pseudo code for java leap year program
*
* 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;
}
}
Leap year code in Java is often tested in Schools and Colleges! Hope you find it helpful!
- Create a Zip file using Java Code programmatically
- Eclipse : A java Runtime Environment (JRE) or Java Development kit (JDK) must be available
- How to Sort a LinkedList in Java
- Loading class com.mysql.jdbc.Driver. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver
- How to declare and initialize Array in Java Programming
- [Fix] java: integer number too large compilation error
- Java JDBC Connection with MySQL Driver in VS Code + Troubleshooting
- Reading .xls and .xlsx Excel file using Apache POI Java Library
- IntelliJ: Error: Could not find or load main class, java.lang.ClassNotFoundException
- How to get Client IP address using Java Code Example
- Truncate table using Java JDBC Example
- Struts 2 : There is no Action mapped for namespace [/] and action name [form] associated with context path [/proj]
- How to get file path in Idea IntelliJ IDE
- Java Generics explained with simple definition and examples
- Java SE 8 Update 301 available with various bug fixes and security improvements
- Java: Collect Stream as ArrayList or LinkedList
- Java JDBC Connection with PostgreSQL Driver Example
- How to check if Java main thread is alive
- How to fix Java nio NoSuchFileException wile reading a file
- Java 8+ get Day of the Week Examples with LocalDateTime, DateTime, ZonalDateTime and Instant classes
- Ways to Convert Integer or int to Long in Java
- [Java] How to throws Exception using Functional Interface and Lambda code
- [Fix] Spring Boot: mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
- Java: The value of the local variable string is not used
- Java JDBC: Insert Java 8 LocalDate and Time using PreparedStatement
- Get-ADUser PowerShell - Get AD user details using email address - SharePoint
- [Java] Error: Unmappable character for encoding UTF-8. Save could not be completed. - Java
- Fetch as Google Crawl Error or Redirected Status - Google
- Backup your Mac before you update to macOS Ventura using Time Machine - MacOS
- Create Bootstrap carousel slider with Text - Bootstrap
- Enable Spellcheck in eclipse workspace - Eclipse
- How to identify installed Java (JDK) Version on macOS - MacOS
- Steps of working with Stored Procedures using JDBCTemplate Spring Boot - Java