天天看點

流程控制之分支語句

:::info

💡 根據 ​​​遺忘曲線​​​:如果沒有記錄和回顧,6天後便會忘記75%的内容

讀書筆記正是幫助你記錄和回顧的工具,不必拘泥于形式,其核心是:記錄、翻看、思考

:::

流程控制語句概覽

在預設程式中是順序結構,從上往下依次執行;用思維導圖,結構化核心概念。
流程控制之分支語句

分支語句

if語句(判斷條件最終必須為:布爾類型值)

1 簡單if語句格式:

語句格式:

if (判斷條件){

語句體; //判斷條件成立執行語句體;

}

int nub1 = 1;
int nub2 = 2;
if(nub1>nub2){
       System.out.println("執行了語句體");  //判斷條件為false,此語句不執行;
}      

2 if…else語句格式

語句格式:

if (判斷條件){

語句體1; //判斷條件成立執行語句體1;

}else{

語句體2; //判斷條件不成立執行語句體2;

}

int nub1 = 1;
int nub2 = 2;
if(nub1>nub2){
       System.out.println("執行了語句體1");  //判斷條件為false,此語句不執行體;
}else{
       System.out.println("執行了語句體2");  //判斷條件為false,執行此語句體;
}      

3 if…else if…else…語句格式

語句格式:

if (判斷條件1){

語句體1; //判斷條件成立執行語句體1;

}else if(判斷條件2){

語句體2; //判斷條件1不成立,判斷條件2成立,執行語句體2;

}else{

語句體3; //判斷條件1和2都不成立執行語句體3;

}

/*
考試獎勵:
    分數>=90:獎勵自行車一輛
    90>分數>=80:獎勵遊樂園一日遊
    80>分數:一頓狂揍
*/
public class IfTest {
    public static void main(String[] args) {
        int chengji;
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入成績:");
           chengji = sc.nextInt();
           if (chengji <=100 && chengji>=0){
               if (chengji>=90){
                   System.out.println("恭喜!獎勵自行車一輛!");
               }else if (chengji>=80 && chengji<90){
                   System.out.println("恭喜!獎勵遊樂園一日遊!");
               }else{
                   System.out.println("來吧一頓接受狂揍!");
               }
           }else{
               System.out.println("成績輸入有誤!");
           }
    }
}      

switch語句

switch語句格式:

switch(){

case 1:

語句體1;

break;

case 2:

語句體2;

break;

case 3:

語句體3;

break;

.

.

.

default:

預設值語句體;

break;

}

1 注意事項:jdk特性與week的取值範圍
  • 基本類型:byte、short、int、long
  • 引用類型:jdk5開始,允許枚舉類型;jdk7開始,允許String
  • jdk14開始允許,一個case 後跟多個值:case 1,2,3:
  • if與switch選用:範圍性的判斷用if;固定值判斷用switch;
switch(week){
    case 1:
       // 語句體1;
        break;
    case 2:
       // 語句體2;
        break;
    case 3:
      //  語句體3;
        break;
    default:
      //  預設語句體;
        break;
}      
2 case穿透(可以優化代碼)
switch(week){
    case 1:
    case 2:
    case 3:
        //重複語句體;
        break;
    default:
        break;
}      
3 jdk14以後新特性(可以優化代碼)
switch(week){
    case 1,2,3:
        //重複語句體;
        break;
    default:
        break;
}      

注意:在程式設計中最常用的邏輯運算符是: 短路與(&&)、短路或(||)和非(!);可以提高代碼的運算效率;