if-else結構
一、else 結構是可選的。
二、針對於條件表達式:
1.如果多個條件表達式之間是“互斥”關係(或沒有交集的關係),哪個判斷和執行語句聲明在上面還是下面,無所謂。
2.如果多個條件表達式之間有交集的關係,需要根據實際情況,考慮清楚應該將哪個結構聲明在上面。
3.如果多個條件表達式之間有包含的關係,通常情況下,需要將範圍小的聲明在範圍大的上面。否則,範圍小的就沒機會執行了。
舉例:當成績爲100分時,獎勵100塊錢;
成績爲(80,99]時,獎勵80塊錢;
當成績爲[60,80]時,獎勵50塊錢;
其它時,什麼獎勵也沒有。
請從鍵盤輸入成績,並加以判斷
import java.util.Scanner;
class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入成績:0~100分");
int score = sc.nextInt();
if(score == 100){
System.out.println("獎勵100塊錢");
}else if(score > 80 && score <= 99){
System.out.println("獎勵80塊錢");
}else if(score >= 60 && score <= 80){
System.out.println("獎勵50塊錢");
}else{
System.out.println("獎勵一巴掌");
}
}
}
三、 if-else結構是可以相互嵌套的。
四、如果if-else結構中的執行語句只有一行時,對應的一對{}可以省略的。但是,不建議大家省略。
舉例:
由鍵盤輸入三個整數分別存入變量num1、num2、num3,對它們進行排序(使用 if-else if-else),並且從小到大輸出。
import java.util.Scanner;
class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("請輸入第一個整數:");
int a = sc.nextInt();
System.out.print("請輸入第二個整數:");
int b = sc.nextInt();
System.out.print("請輸入第三個整數:");
int c = sc.nextInt();
if(a >= b){//相互嵌套
if(c >= a)
System.out.println("從小到大排序爲"+b + "," + a + "," + c);
else if(c <= b)
System.out.println("從小到大排序爲"+c + "," + b + "," + a);
else
System.out.println("從小到大排序爲"+b + "," + c + "," + a);
}else{
if(c >= b)
System.out.println("從小到大排序爲"+a + "," + b + "," + c);
else if(c <= a)
System.out.println("從小到大排序爲"+c + "," + a + "," + b);
else
System.out.println("從小到大排序爲"+a + "," + c + "," + b);
}
}
}