如何插入else关键字以减少Java代码中的if语句数量?
优化方案:用else if减少冗余判断
原代码中,i%6的结果只会是0、1、2、3、4、5中的一个,这些条件是互斥的——同一轮循环里只会满足其中一个。因此可以把后续的独立if全部改成else if,最后一个条件(i%6==0)甚至可以直接用else(因为前面已经覆盖了1-5的情况,剩下的必然是0)。
修改后的代码
public class Main2 { public static void main(String[] args) { for(int i=1;i<=12;i++) { if(i%6 ==1) { System.out.print(" "); System.out.print(i); System.out.println("-"); } else if(i%6 ==2) { System.out.print("+"); System.out.println(i); } else if(i%6 ==3) { System.out.print(" "); System.out.print(i); System.out.println("#"); } else if(i%6 ==4) { System.out.print("+"); System.out.println(i); } else if(i%6 ==5) { System.out.print(" "); System.out.print(i); System.out.println("-"); } else { // 此时i%6必然等于0 System.out.print("#"); System.out.println(i); } } } }
优化逻辑说明
- 原代码中每个
if都会被执行判断,哪怕已经匹配到了前面的条件(比如i=1时,还是会判断后面5个if),用else if后,只要匹配到一个条件,后面的判断就会直接跳过,减少了不必要的逻辑判断。 - 代码逻辑更清晰,明确表示这些条件是互斥的,同一时间只会执行其中一个分支。
内容的提问来源于stack exchange,提问作者Ильяс Вафин
相关产品推荐
相关产品推荐

