1. 程式人生 > 其它 >019_JAVA流程控制_選擇結構

019_JAVA流程控制_選擇結構

一、if選擇結構

if選擇結構包括if單選擇結構、i雙f選擇結構、if多選擇結構、巢狀的if選擇結構。

很多時候,需要先判斷一個東西是否可行,然後再執行,這樣一個過程可以使用if語句來表示。

  1. if單選擇結構

    • 語法

    if(布林表示式){
       //如果布林表示式為true將執行語句
    }
    • 例子

      Scanner scanner =new Scanner(System.in);
      System.out.println("請輸入內容");
      String s = scanner.nextLine();
      //equals 判斷字串是否相等 講==運算子時有提及
      if (s.equals("Hello")){
         System.out.println(s);
      }
      System.out.println("End");
      scanner.close();
  2. if雙選擇結構

    • 語法

    if(布林表示式){
      //如果布林表示式為true將執行語句
    }else{
    //如果布林表示式為false將執行語句
    }
    • 例子

      String name = "小何呀";
      if(name.equals("小何呀")){
         System.out.println("這個人是小何呀");
      }else{
         System.out.println("這個人不是小何呀");
      }
  3. if多選擇結構

    • 語法

    if(布林表示式1){   
       //如果布林表示式1為true將執行語句
    }else if(布林表示式){    
       //如果布林表示式2為true將執行語句(且布林表示式1為false)
    }else if(布林表示式3){
       //如果布林表示式3為true將執行語句(且布林表示式1和2都為false)
    }
    ...
    }else{
       //如果以上布林表示式都為false將執行語句
    }    
    • 例子

    /*
    if語句至多有一個else語句,else語句在所有的else if 語句之後
    if語句可以有若干個else if 語句,它們必須在else語句之前
    一旦其中一個else if語句檢測為true,其他的else if 和else語句都將跳過執行
    */
    Scanner scanner1 = new Scanner(System.in);
    System.out.println("請輸入成績:");
    int score = scanner1.nextInt();
    if (score == 100){
       System.out.println("恭喜滿分!");
    }else if(score < 100 && score >= 90){
       System.out.println("A級");
    }
    else if(score < 90 && score >= 80){
       System.out.println("B級");
    }
    else if(score < 80 && score >= 70){
       System.out.println("C級");
    }
    else if(score < 70 && score >= 60){
       System.out.println("D級");
    }else if(score < 60 && score >= 0){
       System.out.println("不及格!");
    }else{
       System.out.println("成績不合法!");
    }
    //不及格不能作為else語句,是為了保證程式的完整性。因為會有可能輸入的成績不在合理範圍內
    scanner1.close();
  4. 巢狀的if選擇結構:以上if結構的巢狀,及一個if語句中包含另一個if語句

    int num1 = 100;
    int num2 = 400;
    if(num1 != num2){
    //巢狀
      if(num1>num2){
          System.out.println(num1 +">"+num2);
      }else{
          System.out.println(num1 +"<"+num2);
      }
    }else{
      System.out.println(num1 +"="+num2);
    }

二、Switch多選擇結構

  1. switch case 語句判斷一個變數與一系列值是否相等,每一個值稱為一個分支

  2. 語法

    • Switch(expression){
         case value1:
        //語句
        break;
         case value2:
        //語句
        break;
          //可以有任意數量的case語句
         default://可選
              //語句
      }
  3. 變數型別

    • expression:byte 、short、 int or char,從JAVA SE7開始,Switch支援字串String型別

    • 同時case標籤(value)必須為字串常量或字面量

  4. 例子:輸出 小何呀

    String name = "小何呀";
    switch (name){
       case "小何呀":
           System.out.println("小何呀");
           break;
       case "小小呀":
           System.out.println("小小呀");
           break;
       default:
           System.out.println("弄啥嘞!");
    }
    /*
    注意Case穿透現象,如果case內沒有break,則當找到滿足的case值後,其後的case也會執行,指導遇到break或全部結束
    */

    case “小何呀“和case”小小呀“都沒有break時:

case “小何呀“沒有break時: