1. 程式人生 > 實用技巧 >java控制流程(一)

java控制流程(一)

一、scanner:

scanner可以獲取使用者的輸入的資訊

scanner的初始化:

//匯入的包
import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        //建立scanner物件
        Scanner scan=new Scanner(System.in);
    }
}

使用scanner:

import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        //建立scanner物件
        Scanner scan=new Scanner(System.in);
        //提示請輸入
        System.out.println("請輸入:");
        //用來接收輸入的值
        String str=scan.next();
        //打印出剛剛使用者輸入的值
        System.out.println("輸入的值為"+str);
    }
}

執行以上程式輸出的值:

請輸入:
hello world
輸入的值為hello world

二、順序結構:

  • 根據程式碼的編寫,從上往下,以此執行

  • 順序結構的流程:

    • 開始----->步驟A----->步驟B----->步驟C----->結束
    public calss Test(){
        public void medth(){
            //順序執行,根據編寫的順序,從上到下執行
            System.out.println("1---步驟A");
            System.out.println("2---步驟B");
            System.out.println("3---步驟C");
            //輸出結果為:
            //1---步驟A 
            //2---步驟B
            //3---步驟C
        }
    }
    

三、選擇結構

if(這裡只能是表示式 返回值為boolean

  1. if 單選擇結構

    可以處理單一或者組合條件的情況

    語法:

    if(選擇條件){
    	滿足條件執行的程式碼
    }
    

    例項:

    public class Test(){
        public void medth(){
            //定義一個變數
            int a=1;
            //a>0是選擇條件  如果a>0為true 則執行大括號裡的程式碼
            if(a>0){
                //滿足條件執行的程式碼體
                System.out.println("選擇條件為true!")
            }
        }
    }
    
  2. if-else 雙選擇結構

    可以處理簡單的條件分支

    語法:

    if(選擇條件){
    	滿足條件執行的程式碼
    }else{
        不滿足條件執行的程式碼
    }
    

    例項:

    public class Test(){
        public void medth(){
            //定義一個變數
            int a=1;
            //a>0是選擇條件  如果a>0為true 則執行第一個大括號裡的程式碼
            //如果a>0為false 則執行第二個大括號裡面的程式碼
            if(a>0){
                //滿足條件執行的程式碼體
                System.out.println("選擇條件為true!")
            }else{
                //不滿足條件的時候執行的程式碼體
                System.out.println("選擇條件為false!“);
            }
        }
    }
    
  3. if-else if-else 多選擇結構

    • 多重if選擇結構

      可以處理複雜的條件分支情況

      語法:

      if(選擇條件1){
      	滿足條件1執行的程式碼
      }else if(選擇條件2){
          不滿足條件1
          滿足條件2執行的程式碼
      }else{
          不滿足條件2執行的程式碼
      }
      

      例項

      public class Test(){
          public void medth(){
              //定義一個變數
              int a=20;
              if(a<18){
                  //滿足a<18執行的程式碼體
                  System.out.println("還沒有成年!")
              }else if(a<30){
                  //不滿足條a<18
                  //滿足a<30的時候執行的程式碼體
                  System.out.println("青年!“);
              }else{
                  //以上條件都不滿足的時候
                  System.out.println("青春一去不復返!");
              }
          }
      }
      
    • 巢狀if選擇結構

      這種結構一般用於複雜的流程控制中

      例項:

      public class Test(){
          public void medth(){
              //比賽用的秒數
              int a=10;
              //性別 
              int sex="男";
               //運動會短跑60米  用時小於十秒的就按男女生分組
              if(a<10){
                 if(sex.equals("男")){
                     System.out.println("這是男子賽");
                 }else if("女"){
                     System.out.println("這是女子賽");
                 }
              }
          }
      }
      
  4. switch

    當需要要多重分支的時候,並且條件判斷是等值的情況下,使用switch選擇結構代替多重if選擇結構會更加簡單

    例項:

    public class Test(){
        public void medth(){
          char letter='A';
           switch(letter){
               case 'A':
                   System.out.println("這是A");
                   break;
               case 'B':
                   System.out.println("這是B");
                   break;
               default :
                   System.out.println("如果沒有A和B 這就是C");
           }
        }
    }
    
    • switch語句的引數從jdk1.7之後可以使String型別的

    • case穿透

      • 如果switch的case中不包含break,即使運行了某個case中的程式碼,仍然會執行其他的case語句
      public class Test(){
          public void medth(){
            char letter='A';
             switch(letter){
                 case 'A':
                     System.out.println("這是A");
                 case 'B':
                     System.out.println("這是B");
                 default :
                     System.out.println("如果沒有A和B 這就是C");
             }
          }
      }
      

      以上的程式碼執行結果為:

      可以看出將所有的case語句全部輸出了

      這是A
      這是B
      如果沒有A和B  這就是C
      
    • break

      如果在case語句後面少加了break關鍵字。程式從該case分支繼續執行下一個分支,知道遇見break後或執行完成最後一個分支,switch語句執行結束(如上面的例項程式碼)

      break的作用就是跳出switch語句,如果執行的判斷式中有break就,則執行完case語句就跳出switch選擇結構

    • default

      default的運用,是當switch語句裡,所有的case語句都不滿足條件時,則執行default語句