Java基礎(四)流程控制

流程控制語句

我們在寫Java代碼的時候,可以說,都離不開三大流程控制語句:順序、選擇、循環。

 

選擇結構

語法格式如下:

if結構,if-else結構

        //簡單格式1

        if(條件) 

            語句;

 

        //簡單格式2

        if(條件){

            語句;

        }

        //簡單格式3

        if(條件)

            語句;

        else 

            語句;

        //簡單格式4

        if(條件){

            語句;

        } else {

            語句;

        }

多重if

       //複雜格式1 

       if(表達式1)

            語句1;

        else if(表達式2)

            語句2;

        else if(表達式3)

            語句3;

        ...

        else

            語句n;

       

        //複雜格式1 

        if(表達式1){

            語句1;

        } else if(表達式2){

            語句2;

        } else if(表達式3) {

            語句3;

        } 

        ...

        else {

            語句n;

        }

 

嵌套if

        將整個if塊插入到另一個if塊中

        if(表達式1)

            if(表達式2)

                if(表達式3)

                    語句;

        else

            語句;

 

switch結構

JDK7.0以後switch括號中表達式的值,可以是基本數據類型的byte,short,int,char,以及String類型。

            switch(表達式){

                case 常量表達式1:

                    語句1;

                    break;

                case 常量表達式2:

                    語句2;

                    break;

                default:

                    語句3;

            }

if與switch的區別

if結構:

    -判斷條件是布爾類型

    -判斷條件是一個範圍

        switch結構:

    -判斷條件是常量值

public class SwitchDemo {

    public static void main(String[] args) {

        int n = 2;

        switch (n) {

            case 3:

                System.out.println("test 3");

            case 4:

                System.out.println("test 4");

             default:

                 System.out.println("test default");

        }

        System.out.println("=======================");

        switch (n) {

            default:

                System.out.println("test default");

            case 3:

                System.out.println("test 3");

            case 4:

                System.out.println("test 4");

        }

        /**

         * 輸出結果:

         test default

         =======================

         test default

         test 3

         test 4

         */

    }

}

注意:通過觀察上面的示例demo,我們可以看到當switch中的case語句缺少break時,default放置在不同的地方,執行的邏輯是不相同的。

default的使用,是在switch語句裏,當所有的case語句都不滿足條件時,則執行default語句。

default在switch的開頭或中間

    若所有case都不滿足條件,則執行default語句,若default語句後面緊跟break,則直接結束;若default語句後沒有緊跟break,則執行default語句之後的case語句,直至遇到break或switch語句結束。

default在switch的末尾

    若所有case語句都不滿足條件,則執行default語句,結束;若有case滿足,則執行case語句,直至遇到break或switch語句結束,所以default在最後一行時break,我們可以省略不寫(但爲了代碼嚴謹性,不建議省略)。

 

循環結構

順序結構,就是語句從上往下,依次執行。

而選擇結構,根據條件執行對應的內容。

    

while循環

語法格式如下:

    while(循環條件爲true)

    {

        語句;

    }

注意:如果循環體只有一條語句,大括號可以省略。爲避免死循環,小括號後面不要加分號。

//錯誤寫法示範
public void static main(String[] args) {
    while(true);   //爲避免死循環,小括號後面不要加分號
}

範例:將小於5的整數打印輸出。

首先,我們分析執行流程,如下圖:

public class WhileDemo {

    public static void main(String[] args) {

        //求1到5的累加和

        int n = 1;

        int sum = 0;  //  sum是存放和的變量

        while(n <= 5) {

            sum = sum + n;

            n++;

        }

        System.out.println("1到5的累加和爲:"+sum);

    }

}

 

do-while循環

語法格式如下:

    do {

        語句;

    } while(循環條件);

注意事項:

1)do-while循環至少執行一次;

2)循環條件後的分號不能丟。

public class DoWhileDemo {

    public static void main(String[] args) {

        int sum = 0;

        int n = 1;

        do {

            sum += n;

            n++;

        } while(n <= 5);

        System.out.println("1到5的累加和爲:"+ sum);

    }

}

 

for循環

語法格式如下:

    for(表達式1;表達式2;表達式3){

        語句;

    }

注意事項:

1)表達式1在循環中只執行一次;

2)局部變量只在定義它的大括號內有效;

3)break語句表示跳出當前循環。

public class ForDemo {

    public static void main(String[] args) {

        int sum = 0;

        for (int n=1;n<=5;n++) { //局部變量只在定義它的大括號內有效!

            sum += n;

        }

        System.out.println("1到5的累加和爲:"+ sum);

    }

}

 

循環嵌套

語法格式如下:

    while(循環條件)

    {

        ......

        while(循環條件){

            ......

        }    

        ......

    }

public class StarDemo {

    public static void main(String[] args) {

        int m = 1; //

        while( m <= 10 ) {

            int n = 1;

            while(n <= 10) {

                System.out.print("*");

                n++;

            }

            System.out.println();

            m++;

        }

    }

}

 

循環結構中使用的關鍵字

    在循環結構中,爲了控制循環體中的執行邏輯,我們經常會使用到 break 和 continue 這兩個關鍵字。

break語句

break語句可以結束當前循環的執行。

執行完break語句後,循環體中位於break語句後面的語句就不會被執行。

在多重循環中,break語句只向外跳一層。

 

continue語句

continue語句只能用在循環裏。

continue語句可以結束當前循環的執行,但是要繼續下一次循環的執行。

 

 

參考鏈接:

https://www.cnblogs.com/JsonShare/p/6999765.html    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章