闰年判断规则是:能被4整除但不能被100整除,或能被400整除;java推荐写法为(return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0),或使用year.isleap()。

判断一个年份是否为闰年,核心是依据公历闰年规则:能被4整除但不能被100整除,或者能被400整除的年份是闰年。
基本判断逻辑
用 Java 实现时,只需将这条规则直接翻译成布尔表达式:
- 年份 % 4 == 0 且 年份 % 100 != 0 → 是闰年
- 年份 % 400 == 0 → 是闰年
- 其余情况都不是闰年
推荐写法(一行简洁表达)
最常用、可读性好且无副作用的写法:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
使用 Java 8+ 时间 API(更安全可靠)
如果项目已用 java.time 包,推荐调用 java.time.Year.isLeap(),它自动处理边界和时区无关逻辑:
import java.time.Year;boolean leap = Year.isLeap(2024); // true
boolean leap2 = Year.isLeap(1900); // false
这个方法内部也按同样规则实现,但封装完善,还支持负年份(如公元前年份),适合对健壮性要求高的场景。
注意常见误区
- 只写 year % 4 == 0 是错的——1900、2100 等世纪年会被误判为闰年
- 不要用浮点除法或字符串判断,效率低且易出错
- 年份为 0 或负数时,上述数学表达式仍成立(按天文年定义),但业务中通常限定为正整数年份
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










