學習JAVA的第一天 流程控制及判斷

qq_44559841發表於2020-12-27

JAVA流程控制




使用者互動Scanner

Scanner類獲取使用者輸入

  1. next(): 檢測詞
    1. 一定要讀取到有效字元後才可以結束輸入;
    2. 對輸入有效字元之前遇到的空白,next()方法會自動將其去掉。
    3. 只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結束符。
    4. next() 不能得到帶有空格的字串
  2. nextLine(): 檢測行
    1. 以enter為結束符,也就是說nextLine()方法返回的就是輸入回車之前的所有字元。
    2. 可以獲得空白。
public class Demo1 {
    public static void main(String[] args) {
        //從鍵盤接受資料
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用next方式接受:");
        //判斷是否還有資料輸入
        if (scanner.hasNext()){
            
            String str = scanner.nextLine();
            System.out.println("輸入的內容為:"+str);
        }
        //關閉Scanner
        scanner.close();
    }
}


順序結構

除非特別指明,否則就按照順序一句一句執行。

在這裡插入圖片描述

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


選擇結構

if選擇結構

在這裡插入圖片描述

if(布林表示式){

​ //如果布林表示式為真將執行語句

}else{

​ //如果布林表示式為假將執行語句

}

swithc選擇結構

在這裡插入圖片描述

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

  1. byte、short、int、char。
  2. java se 7 以後支援:String
  3. 同時case標籤必須為字串常量或者字面量

case後如果不跟break語句將繼續執行後續,如果有break將跳出switch


迴圈結構

while迴圈

在這裡插入圖片描述

do while迴圈

在這裡插入圖片描述

while與do while的區別:

while是先判斷後執行,do while是先執行後判斷;

do while總是保證迴圈體會至少被執行一次!這是他們最主要的差別。

for迴圈

在這裡插入圖片描述

關於for迴圈的幾點說明:

最先執行初始化步驟。可以宣告一種型別,但可初始化一個或多個迴圈控制變數,也可以是空語句。

然後,檢測布林值表示式的值。如果為true,迴圈體被執行。如果為false,迴圈終止開始執行迴圈體後的語句。

執行一次迴圈後,更新迴圈控制變數(迭代因子控制迴圈變數的增減)。

再次檢測布林表示式。迴圈上面的過程。。。。。。

增強型for

在這裡插入圖片描述


break&continue

  1. break在任何迴圈語句的主體部分,均可用break控制迴圈的流程。break用於強行退出迴圈,不執行迴圈的剩餘語句。
  2. continue語句用在迴圈語句中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否迴圈的判定。

練習

  1. 列印9*9乘法表
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 0; i <= 9; i++) {
            for (int i1 = 0; i1 <= i; i1++) {
                sum = i * i1;
                System.out.print(i+"*"+i1+"="+sum);
                System.out.print("\t");
            }
            System.out.println();
        }
        }
  1. 列印一個三角形
public static void main(String[] args) {
        //列印一個7行的三角形 設計思想三角形左右對稱砍半
        for (int i = 1; i <= 7; i++) {
            //列印空格 空格個數隨i的增大而變小
            for (int j = 7; j > i; j--) {
                System.out.print(" ");
            }
            //列印左邊星號 星號數量跟隨i的增大而變多
            for (int k = 1; k <= i; k++) {
                System.out.print("*");
            }
            //列印右邊星號 星號數量隨i的增大而變多
            for (int h = 1; h < i; h++) {
                System.out.print("*");
            }
            System.out.println();
        }

    }

相關文章