练习——判断闰年
需求
用户输入一个年份,判断该年份是否为闰年。
闰年判断规则
满足以下两个条件之一即为闰年:
- 能被 4 整除 并且 不能被 100 整除
- 能被 400 整除
实现思路
借助关系运算符(==、%、!=)和逻辑运算符(&&),结合三目运算符实现判断。
示例代码
public static void main(String[] args) {
System.out.println("请输入一个年份:");
int year = new Scanner(System.in).nextInt();
System.out.println(
year % 400 == 0
? "是闰年"
: (year % 4 == 0 && year % 100 != 0 ? "是闰年" : "不是闰年")
);
}Code language: JavaScript (javascript)
逻辑拆解
| 条件 | 表达式 |
|---|---|
| 能被 400 整除 | year % 400 == 0 |
| 能被 4 整除且不能被 100 整除 | year % 4 == 0 && year % 100 != 0 |
整个表达式的执行顺序:
- 先判断
year % 400 == 0,若为true直接返回”是闰年” - 若为
false,再判断year % 4 == 0 && year % 100 != 0 - 第二个条件为
true返回”是闰年”,为false返回”不是闰年”
测试示例
| 输入年份 | 输出 |
|---|---|
| 2000 | 是闰年(能被400整除) |
| 2024 | 是闰年(能被4整除且不能被100整除) |
| 2100 | 不是闰年(能被100整除但不能被400整除) |
| 2023 | 不是闰年(不能被4整除) |
注意:也可以将条件合并为一个布尔表达式
year % 400 == 0 || (year % 4 == 0 && year % 100 != 0),再用三目运算符输出结果,写法更直观。
Previous: 三目运算
Next: 练习——柜台结账系统