(year%4!==0)||(year%100==0&&year%400!=0)详解?(year%4!==0)||(year%100==0&&year%400!=0)为一个求year是否为闰年的程序表达式.请问他们的运算顺序是什么?
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 05:13:46
(year%4!==0)||(year%100==0&&year%400!=0)详解?(year%4!==0)||(year%100==0&&year%400!=0)为一个求year是否为闰年的程序表达式.请问他们的运算顺序是什么?
(year%4!==0)||(year%100==0&&year%400!=0)详解?
(year%4!==0)||(year%100==0&&year%400!=0)为一个求year是否为闰年的程序表达式.请问他们的运算顺序是什么?
(year%4!==0)||(year%100==0&&year%400!=0)详解?(year%4!==0)||(year%100==0&&year%400!=0)为一个求year是否为闰年的程序表达式.请问他们的运算顺序是什么?
1、首先year%4!==0这个表达式有误,应该是year%4!=0.
2、楼主要明白
(year%4!=0)||(year%100==0&&year%400!=0)
这个表达式不是判断year是否“是闰年”,而是判断year是否“不是闰年”.
3、闰年的两种情况:
a,对于普通年份,要被4整除.例如2008
b,对于能被100整除的年份,还需要能被400整除才是闰年.例如2000是闰年,但1900就不是闰年,因为1900能被100整除,但不能被400整除.
4、反过来,一个年份不是闰年的两种情况:
a,不能被4整除.即对应代码(year%4!=0)
b,能被100整除,year%100==0,但不能被400整除year%400!=0.两个是且的关系,因此对应代码(year%100==0 && year%400!=0)
上面a,b两种情况是“或”的关系,也就是满足其中之一就不是闰年.因此合起来代码为
(year%4!=0) || (year%100==0 && year%400!=0)
当year不是闰年时,上面整个表达式的值为1,是闰年时,表达式值为0
5、程序判断时,是先判断||的左边,即(year%4!=0),若满足则表达式返回为1,||右边不用判断.若不满足,继续判断||的右边(year%100==0 && year%400!=0),对于&&,也是先判断左边year%100==0,若其不满足,则返回为0,右边year%400!=0将不再判断,否则继续判断year%400!=0,若满足则返回为1,否则返回为0.
上面这个式子因为各部分都加了括号,因此对于运算顺序的把握不是特别重要.关键要搞清闰年的确切定义.