Java流程控制:使用者互動Scanner、選擇結構

小糖詩發表於2023-02-26

Java流程控制:使用者互動Scanner、選擇結構

使用者互動Scanner

Scanner類用於獲取使用者的輸入

基本語法

Scanner s = new Scanner(System.in);
s.close();
package com.qiu.first.scanner;

import java.util.Scanner;

public class Demo1 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       System.out.println("請輸入資料:");
       String str = scanner.nextLine();
       System.out.println(str);
       scanner.close();//凡是IO流的類如果不關閉的話會一直佔用資源,所以要用完就關掉
  }
}

透過Scanner類的next()與nextLine()方法獲取輸入的字串,在讀取前可以使用hasNext()與hasNextLine()判斷是否還有輸入的資料。

  • next():

    1. 一定要讀取到有效字元後才可以結束輸入;

    2. 對輸入有效字元之前的空白,next()方法會自動將其去掉;

    3. 只有輸入有效字元之後才將其後面輸入的空白作為分隔符或者結束符;

    4. next()不能得到帶有空格的字串。

  • nextLine():

    1. 以Enter作為結束符,也就是說nextLine()方法返回的是輸入回車之前的所有字元;

    2. 可以獲得空白。


順序結構

順序結構是最簡單的演算法結構。

它是任何一個演算法都離不開的一種基本演算法結構。


選擇結構

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{
   //如果以上表示式都不為true將執行的語句
}

4. if 巢狀結構

語法:

if (布林表示式1){
   //如果布林表示式1的值為true執行程式碼
   if (布林表示式2){
       //如果布林表示式2的值為true執行程式碼
  }
}

5. switch多選擇結構

switch case語句判斷一個變數與一系列值中某個值是否相等,每個值成為一個分支。

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

  • byte、short、int或者char。

  • 從JavaSE 7開始,switch支援字串String型別了,同時case標籤必須為字串常量或字面量。

語法:

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

注意預防case穿透現象。

 

 

 

相關文章