问题描述 给定一个年份,判断这一年是不是闰年。 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数; 2. 年份是400的倍数。 其他的年份都不是闰年。输入格式
输入包含一个整数y,表示当前的年份。
输出格式
输出一行,如果给定的年份是闰年,则输出yes,否则输出no。
样例输入
2013
样例输出
no
样例输入
2016
样例输出
yes
数据规模与约定
1990 <= y <= 2050。
解题思路:
1.什么是闰年?(必须理解题中闰年定义)
(年份除4等于0并且年份除100不等于0
或者年份除400等于0)
2.逻辑运算符的理解与运用(短路与和短路或)
3.注意数据规模与约定的限制范围(1990 <= y <= 2050)
import java.util.Scanner;//导包(导包后可以在程序中输入年份y)
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);//通过 Scanner 类来获取用户的输入
int y = sc.nextInt();//获取用户输入的年份y
if(y>=1990&&y<=2050){//用if语句限制年份y的范围
if (y%4==0&&y%100!=0||y%400==0){//&&(短路与)||(短路或)
System.out.println("yes");//符合闰年条件输出yes
}else {
System.out.println("no");//不符合闰年条件输出no
}
}
}
}
知识点总结:短路逻辑运算符
逻辑运算符
符号 名称 作用 使用频率 & 逻辑与 a&b,a和b都是true,结果为true,否则为false 常用 | 逻辑或 a|b,a和b都是false,结果为false,否则为true 常用 ^ 逻辑异或 a^b,a和b的结果不同为true,相同为false 较少 ! 逻辑非 !a,与a的结果正好相反 较少 短路运算符
符号 名称 作用 && 短路与 与&作用相同,但是起到了短路作用 || 短路或 与|作用相同,但是起到了短路作用 逻辑运算符与短路运算符的区别
逻辑与& 无论左边真假,右边都需要执行 短路与&& 如果左边为真,右边执行;如果左边为假,右边不执行 逻辑或 无论左边真假,右边都要执行 短路或|| 如果左边为假,右边执行;如果左边为真,右边不执行



