大佬教程收集整理的这篇文章主要介绍了Java:闰年/if 语句中的优先级问题,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试确定给定年份是否为闰年。但是当你用闰年 1996 测试程序时,它表明 1996 不是闰年:
@H_403_3@import javax.swing.JOptionPane; public class Leapyear{ public static voID main (String[] args){ var year = Integer.parseInt(JOptionPane.showinputDialog("Year: ")); if(year%4==0 && year%100!=0 ^year%4==0 && year%100==0 && year%400==0){ JOptionPane.showmessageDialog(null,year + " is a leapyear!"); } else{ JOptionPane.showmessageDialog(null,year + " is not a leapyear!"); } } }
至于我:我认为这是一个优先级问题,因为^的优先级是8而&&的优先级是10,所以它会按以下顺序检查条件(以^开头):
@H_403_3@if(year%4==0 && (year%100!=0 ^ year%4==0) && year%100==0 && year%400==0){..}
我认为这就是为什么当您使用 1996 测试程序时,它不会执行 if 语句中的代码,而是执行 else 语句中的代码。如果是这样,有没有可能先检查^之前的条件?
非常感谢您的帮助!
以上是大佬教程为你收集整理的Java:闰年/if 语句中的优先级问题全部内容,希望文章能够帮你解决Java:闰年/if 语句中的优先级问题所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。