單分支 if 語句表述形式為:if(條件1){輸出1} if(條件2){輸出2}……如此往復;
每次執(zhí)行程序時,從上往下依次判斷所有的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的時候,其實第一個條件判斷過后就可以得出結(jié)論了。但由于時單分支if語句,程序還是需要判斷4次條件。
多分支 if 語句表述形式為:if (條件1){輸出1} else if(條件2){輸出2}…中間可有多個else if… else {輸出n};
每次程序執(zhí)行的時候,會從上到下依次判斷條件是否成立,當其中一條語句成立時,停止判斷,直接跳出。如代碼所示:
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的時候,會在第二條語句判斷成功并輸出“正常范圍”,此時不會繼續(xù)判斷下面的if語句,而是直接跳出,結(jié)束判斷。
顯而易見,多分支if語句,可以極大程度的減少程序?qū)φZ句的判斷,在龐大的判斷語句中非常節(jié)時!