JAVA中的逻辑关系

来源:百度知道 编辑:UC知道 时间:2024/06/18 18:19:45
(sum%4==0&&sum%100!=0||sum%400==0)

能被4整除为什么不能写sum==1
0不是假吗? 1是真吗?
sum%100!=0 不能整除的 为什么不能写成==0 0 不是假吗?
还有sum%100!=0 不能整除的 那!=0不就是真了吗?
弄不明白
希望大哥大姐们解释一下
感谢了

(sum%4==0&&sum%100!=0||sum%400==0)
这个表达式一般是用来判断是不是闰年的,sum%4==0&&sum%100!=0这一段是说sum能被整除但却不能被100整除,||sum%400==0是说能被400整除,这两种情况刚好就是判断是不是闰年的标准。

在java中,判断一个数能不能被另一个整数整除一般是用取模(余)运算符 % 并看结果为不为0来判别的。比如,当2002除以4取余,结果是2,那么我们就得到2002不能被4整除,而2008除以4取余,结果是0,就是说2008能被4整除。

能被4整除不能写成sum==1,因为在java中这个表达式是判断sum的值等不等于1的,它返回的是逻辑值(boolean类型,只有true和false两种值) ,在java中由于有逻辑值这个类型,所以0和1只是数字类型或字符串类型,不能代表真和假。

在C语言中,没有逻辑值这种类型,所以0代表假(false),而非0代表真(true),1是非0值,当然也是真。

这是两种语言在数据类型上的差别。

java里只有 true和false这两个关键字才表示真假。
0为假是在c++里规定的。
int sum = 101;
sum%100 != 0 ; //返回 true

这是一个求闰年的计算公式,记住就行,还有这里的0和1只表示值类型的数字,而不是布尔类型的true和false