单分支 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语句,可以极大程度的减少程序对语句的判断,在庞大的判断语句中非常节时!