单分支 if 语句表述形式为:if(条件1){输出1}     if(条件2){输出2}……如此往复;

每次执行程序时,从上往下依次判断所有的if语句是否成立,会造成资源的浪费,如代码所示:

import java.util.Scanner;

public class yourBIM {

    public static void main(String[] args) {    
       double BIM = in.nextDouble();
       System.out.print("您的体重属于:");
       if (BIM<18.5) {
           System.out.println("体重过轻");
       }
       if (BIM>=18.5&&BIM<24.9) {
           System.out.println("正常范围");
       }
       if (BIM>=24.9&&BIM<29.9) {
           System.out.println("体重过重");
       }
       if (BIM>=29.9) {
           System.out.println("肥胖");
       }
    }

}

假设当我们输入17.6的时候,其实第一个条件判断过后就可以得出结论了。但由于时单分支if语句,程序还是需要判断4次条件。

 

多分支 if 语句表述形式为:if (条件1){输出1}  else if(条件2){输出2}…中间可有多个else if…   else {输出n}; 

每次程序执行的时候,会从上到下依次判断条件是否成立,当其中一条语句成立时,停止判断,直接跳出。如代码所示:

import java.util.Scanner;

public class yourBIM {

    public static void main(String[] args) {    
       double BIM = in.nextDouble();       
   System.out.print("您的体重属于:");
           if (BIM<18.5) {
               System.out.println("体重过轻");
           }
           else if (BIM>=18.5&&BIM<24.9) {
               System.out.println("正常范围");
           }
           else if (BIM>=24.9&&BIM<29.9) {
               System.out.println("体重过重");
           }
           else  {
               System.out.println("肥胖");
           }

}

当我们输入18.6的时候,会在第二条语句判断成功并输出“正常范围”,此时不会继续判断下面的if语句,而是直接跳出,结束判断。

 

显而易见,多分支if语句,可以极大程度的减少程序对语句的判断,在庞大的判断语句中非常节时!