A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴承烨 中级黑马   /  2013-6-16 16:18  /  1730 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吴承烨 于 2013-6-16 17:24 编辑

year % 4 == 0 && year % 100 != 0 || year%400==0和
year % 400==0 || year % 4 == 0 && year % 100 !== 0
判断条件一样吗?

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

9 个回复

倒序浏览
一样,&&的优先级大于||,所以在运算时先判断&&,再判断||,你要心里没底,确保正确,可以加()

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
一样,加上括号吧
回复 使用道具 举报
&&的优先级大于||

左右调换位置了,其实还是一样的
(year % 4 == 0 && year % 100 != 0 ) || year%400==0
year % 400==0 ||( year % 4 == 0 && year % 100 != 0 )

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
一样的  &&优先级大于||
你可以为了看的比较清楚给他们加上括号
((year % 4 == 0 && year % 100 != 0 ) || year%400==0)
(year % 400==0 ||( year % 4 == 0 && year % 100 != 0 ))
回复 使用道具 举报
加上()后,程序的可读性会好一些,建议你加上,虽说不影响程序出错,但这确实是好习惯
回复 使用道具 举报
一样的,同意了!   {:soso_e117:}
回复 使用道具 举报
如果&&的优先级比||高,不用加括号也行
year % 400 == 0 || year % 4 == 0 && year % 100 != 0;
回复 使用道具 举报
(第二句的!后面多了个=)由于模运算符的优先级大于逻辑运算符,==和!=优先级大于&&,&&优先级大于||。所以逻辑是没错的,但可读性较差,不管哪种,建议加上(),如:((year % 4 == 0) && (year % 100 != 0) )|| (year%400==0)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马