引用: |
【欧虫的贴子】if (x%2==0 & x%7==0 & x%5==0) { y++;}与 if (x%2==0 && x%7==0 && x%5==0) { y++;}相比后者效率高,何解呢? ........................... |
研究得精细呀
x%2==0 & x%7==0 & x%5==0 需要把三个==运算的三个布尔值经过两次逻辑与运算之后的布尔值由if判断真假。
而x%2==0 && x%7==0 && x%5==0是从前向后顺次执行==立即评价,遇到一个非真立即推出,只有最大开销的情况(三个==的结果都是真的时候)的运算次数和第一个一样多。
因此,第二个写法效率高。