首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 8 判斷閏年標準 API:Year.isLeap()

     編輯:程式設計疑難解答

標準 API (Java 8+)

import java.time.Year;

public class LeapYearCheck {
    public static void main(String[] args) {
        int year = 2024;
        boolean isLeap = Year.isLeap(year); // 靜態方法,直接呼叫
        System.out.println(year + (isLeap ? " 是" : " 不是") + "閏年");
    }
}

舊版 Calendar 寫法 (不推薦)

Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
// 閏年 2 月有 29 天
boolean isLeap = cal.getActualMaximum(Calendar.DAY_OF_YEAR) > 365;

核心差異

  • java.time.Year:不可變、執行緒安全、領域驅動設計、無副作用。
  • Calendar:可變、非執行緒安全、API 繁瑣、已被棄用趨勢。

自定義演算法 (教學用)

public static boolean isLeap(int year) {
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

生產代碼優先使用標準庫,避免邊界錯誤 (如 1900, 2000)。

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