Java中的多分支 if較單分支if的優點
單分支 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語句,可以極大程度的減少程式對語句的判斷,在龐大的判斷語句中非常節時!