1. 程式人生 > 其它 >3.JAVA流程控制

3.JAVA流程控制

一、流程控制結構

 

Scanner類

在基礎語法裡,只能打印出簡單的運算結果,並不能實現程式和人的互動。

Java 5 的新特性裡,提供了一個工具類Scanner,便於獲取使用者的輸入。

 

基本語法

Scanner s = new Scanner(System.in);

建立掃描器,用於接收使用者輸入

 

判斷語句表示式

if (Scanner.hasNextLine());

先用hasNext()和hasNextLine()方法來判斷字元是否輸入

類似的判斷方法還有:

hasNextByte() //判斷位元組型是否輸入

hasNextInt() //判斷整數型是否輸入

hasNextShort() //判斷Short型是否輸入

hasNextLong() ////判斷Long型是否輸入

hasNextFloat() //判斷Float型是否輸入

hasNextDouble() //判斷Double型是否輸入

hasNextBoolean() //判斷Boolean型是否輸入

next()和nextLine()的區別

next只能獲取不含空格的字元,nextLine可以獲取一行字元

 

方法獲取表示式

通過Scanner類的next()和nextLine()方法來獲取輸入的字元

String str = next()/nextLine()//獲取字元放在str裡

類似的方法還有:

nextByte() //獲取位元組型

nextShort() //獲取Short型

nextInt() //獲取Int型

nextLong() //獲取Long型

nextFloat() //獲取Float型

nextDouble() //獲取Double型

nextBoolean() //獲取Boolean型

 

關閉IO流

scanner.close;

如果不關閉,將會佔用資源,養成習慣

 


 

if條件語句

if選擇結構一般用來做某些判斷 並滿足某些條件來執行語句。

 

if單選擇結構

滿足if布林表示式就執行if括號內的語句 否則直接跳到下一步

案例

        //if單選擇結構
        boolean select = true;
        if (select == false){
            System.out.println("布林值為false");//滿足條件執行 不滿足則跳出
        }

 

if雙選擇結構

判斷布林表示式的值為true 執行if括號內的語句 否則執行else內的語句。

案例

        //if雙選擇結構
        int age = 17;
        if (age >= 18){
            System.out.println("年齡已到成年階段");//滿足條件執行if下語句 不滿足執行else下語句
        }else{
            System.out.println("年齡未到成年階段!");
        }

 

if多選擇結構

在if雙選擇結構的基礎上 可以在中間加上若干個else if的關鍵字 當滿足布林表示式時 只執行其中一個分支 程式便往下執行。

案例:

        //if多選擇結構
        int score = 44;
        if (score == 60){
            System.out.println("成績剛好及格");//滿足哪個分支判斷就執行哪個分支的語句 若都不滿足跳出整個判斷
        }else if(score >= 90){
            System.out.println("成績優秀");
        }else if(score >= 80){
            System.out.println("成績良好");
        }else if (score >= 60){
            System.out.println("成績及格");
        }else{
            System.out.println("成績不合格");//當以上分支判斷都不滿足最後才執行else語句
        }

 


 

switch開關邏輯語句

if選擇結構的布林表示式一般用來判斷一個範圍,而switch選擇結構的布林表示式用來判斷一個具體的值。

案例

Scanner in = new Scanner(System.in);
System.out.println("輸入int型別常數");
        int a = in.nextInt();
        switch(a){
            case 1:
                System.out.println("結果等於1");//滿足case的常數表示式
                break;
            case 5:
                System.out.println("結果等於5");
                break;
            default:
                System.out.println("輸入不是1和5!");//所有case不匹配才執行 不受順序的影響
​

 


 

while迴圈結構

單個while迴圈結構

順序結構和選擇結構只能執行程式一次 while可以實現將某一段語句執行重複執行,在實際程式設計中引用廣泛。

  • 整個while結構可以稱為一個迴圈體

  • 如果while中沒有設定條件 將會一直迴圈括號內的語句 稱為死迴圈

  • while中添加了條件 當while迴圈到不滿足條件時 程式才會停止

語法:

while(布林表示式){
    //迴圈的語句
};

使用單個while迴圈的案例

		int num = 0;
        while (num < 10) {
            System.out.print(num + " ");//num變數迴圈自增直到不滿足布林表示式後跳出
            num++;
        }
        System.out.println();

 

do while迴圈結構

do while結構先將迴圈語句執行一次再判斷是否迴圈執行,do寫在前 while寫在後。

語法:

do{
    //迴圈的語句
}while(條件表示式);

使用do while迴圈的案例

		int a = 1;
        do {
            a++;
            System.out.println("程式碼輸出" + a);//不滿足條件也會執行一次
        }while(a > 10);

 


 

for迴圈結構

for結構包含了變數宣告 判斷條件和變數值變化三個選項,中間用分號隔開。與while執行效果一致的情況下程式碼跟簡潔

當需要迴圈次數較多時,建議使用for迴圈for迴圈,宣告 條件 更新值 可以為空,沒有固定規範。

執行過程:

定義後,判斷條件,先輸出,再自增,最後更新

//宣告;條件;迭代;
for (int a = 1;a > 1;a++;){
    //迴圈的語句
}

使用for迴圈依次輸出1到10的數字

for (int i = 0;i < 10;i++){
            System.out.print(i+" ");
        }
        System.out.println();

 

增強for迴圈結構

Java 5引用的一個新特性

增強for迴圈主要用於陣列和集合的使用

語法

for(//變數宣告:表示式){//語句塊};

主要用於陣列和集合的迴圈操作