1. 程式人生 > 其它 >多路選擇器

多路選擇器

Java流程控制學習

Scanner物件

  • java.util.Scanner是Java5的新特徵,我們可以通過Scanner類獲取使用者的輸入

  • 基本語法:

Scanner s = new Scanner(System.in);
  • Scanner類的next()和nextline()方法獲取輸入的字串

    • next()

      1. 一定要讀取到有效字元後才可以結束輸入
      2. 對輸入有效字元之前遇到的空白,next()方法會自動將其去掉
      3. 只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結束符
      4. next()不能得到帶有空格的字串
    • nextline()

      1. 以Enter為結束符也就是說nextline()方法返回的是輸入回車之前的所有字元
      2. 可以獲得空白
  • Scanner類的hasNext()和hasNextline()判斷是否還有輸入的資料

  • Scanner類的close()用於關閉

  • 凡是屬於IO流的類如果不關閉會一直佔用資源,要養成好習慣,用完就關掉

順序結構

語句與語句之間,框與框之間是按從上到下的順序進行的,它是由若干個依次執行的處理步驟組成的,它是任何一個演算法都離不開的一種基本演算法結構。

選擇結構

  1. if單選擇結構

    • 語法:

      if(布林表示式){
      	//如果布林表示式為true將執行的語句
      }
      
  2. if雙選擇結構

    • 語法:

      if(布林表示式){
      	//如果布林表示式為true將執行的語句
      }
      else{
      	//如果布林表示式為false將執行的語句
      }
      
  3. if多選擇結構

    • 語法:

      if(布林表示式1){
      	//如果布林表示式1為true將執行的語句
      }
      else if(布林表示式2){
      	//如果布林表示式2為true將執行的語句
      }
      else if(布林表示式3){
      	//如果布林表示式3為true將執行的語句
      }
      else{
      	//如果以上布林表示式為false將執行的語句
      }
      
  4. 巢狀的if結構

    • 語法:

      if(布林表示式1){
      	//如果布林表示式1為true將執行的語句
      	if(布林表示式2){
      	//如果布林表示式2為true將執行的語句
          }
      }
      
  5. switch多選擇結構

    switch(expression){
    	case value:
    		//語句
    		break;//可選
    	case value:
    		//語句
    		break;//可選
        //你可以有任意數量的case語句
        default://可選
        	//語句
    }
    

    switch語句中的變數型別可以是:

    • byte、short、int、char
    • 從Java SE 7 開始
    • switch支援字串String型別
    • 同時case標籤必須為字串量或字面量

    注意點:

    • 因為case具有穿透性,因此每寫完一個case,都必須加上break

迴圈結構

  1. while迴圈

    • 語法:

      while(布林表示式){
      	//迴圈內容
      }
      
    • 只要布林表示式為true,迴圈就會一直執行下去

    • 我們大多數情況是會讓迴圈停止下來的,我們需要一個讓表示式失效的方式來結束迴圈

    • 少部分情況需要迴圈一直執行,比如伺服器的請求相應監聽等

    • 迴圈條件一直為true就會造成無限迴圈(死迴圈),我們正常的業務程式設計中應該儘量避免死迴圈。這會影響程式效能或者造成程式卡死崩潰

  2. do...while迴圈

    • 語法:

      do{
      	//程式碼語句
      }while(布林表示式){
      	//迴圈內容
      }
      
    • while和do-while的區別

      • while先判斷後執行,do-while先執行後判斷
      • do-while總是保證迴圈體會至少被執行一次,這是他們的主要差別
  3. for迴圈

    • 語法:

      for(初始化;布林表示式;更新){
      	//程式碼語句
      }
      
    • for迴圈語句是支援迭代的一種通用結構,是最有效、最靈活的迴圈結構

    • for迴圈執行的次數是再執行前就確定的

break

break 在任何迴圈語句的主體部分,均可用break控制迴圈的流程。break用於強行退出迴圈,不執行迴圈中剩餘的語句。(break語句也在switch語句中使用)

continue

continue 語句用在迴圈語句體中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。