首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 判斷閏年算法實現與代碼範例

     編輯:Java 相關知識

閏年規則

依照格里高利曆規則:

  1. 能被 4 整除但**不能**被 100 整除 → 閏年
  2. 能被 400 整除 → 閏年
  3. 其餘 → 平年

Java 代碼實現

public class LeapYearCheck {
    public static void main(String[] args) {
        int year = 2024; // 測試年份
        if (isLeapYear(year)) {
            System.out.println(year + " 是閏年");
        } else {
            System.out.println(year + " 是平年");
        }
    }

    /**
     * 判斷閏年
     * @param year 年份
     * @return true=閏年, false=平年
     */
    public static boolean isLeapYear(int year) {
        return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
    }
}

單行條件表達式(原文風格)

if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
    System.out.println(year + "是閏年");
} else {
    System.out.println(year + "是平年");
}

測試用例

年份預期結果說明
2000閏年能被 400 整除
1900平年能被 100 整除但非 400
2024閏年能被 4 整除、非 100
2023平年不能被 4 整除

進階:使用 Java 8 Time API

import java.time.Year;

public class LeapYearJava8 {
    public static void main(String[] args) {
        int year = 2024;
        boolean leap = Year.of(year).isLeap();
        System.out.println(year + (leap ? " 是閏年" : " 是平年"));
    }
}

java.time.Year 內建閏年判斷,語意更清晰,推薦現代專案使用。

總結

閏年判斷邏輯簡單但易寫錯(常漏掉 100/400 例外)。封裝為靜態工具方法或直接使用 Year.isLeap(),可提升代碼可讀性與複用性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved