1. 程式人生 > >switch 迴圈語句 控制跳轉語句 總結

switch 迴圈語句 控制跳轉語句 總結

1:switch語句(掌握)
    (1)格式:
        switch(表示式) {
            case 值1:
                語句體1;
                break;
            case 值2:
                語句體2;
                break;
            ...
            default:
                語句體n+1;
                break;
        }
        
        格式解釋說明:
            switch:說明這是switch語句。
            表示式:可以是byte,short,int,char
                JDK5以後可以是列舉
                JDK7以後可以是字串
            case:後面的值就是要和表示式進行比較的值
            break:表示程式到這裡中斷,跳出switch語句
            default:如果所有的情況都不匹配,就執行這裡,相當於if語句中的else
    (2)面試題
        switch語句的表示式可以是byte嗎?可以是long嗎?可以是String嗎?
            可以,不可以,JDK7以後可以
    (3)執行流程:
        A:首先計算表示式的值
        B:和每一個case進行匹配,如果有就執行對應的語句體,看到break就結束。
        C:如果沒有匹配,就執行default的語句體n+1。
    (4)注意事項:
        A:case後面只能是常量,不能是變數,而且,多個case後面的值不能出現相同的
        B:default可以省略嗎?
            可以省略,但是不建議,因為它的作用是對不正確的情況給出提示。
            特殊情況:
                case就可以把值固定。
                A,B,C,D
        C:break可以省略嗎?
            可以省略,但是結果可能不是我們想要的。
            會出現一個現象:case穿透。
            最終我們建議不要省略
        D:default一定要在最後嗎?
            不是,可以在任意位置。但是建議在最後。
        E:switch語句的結束條件
            a:遇到break就結束了
            b:執行到末尾就結束了
    (5)案例:
        A:鍵盤錄入一個數字(1-7),輸出對應的星期幾。
        B:單項選擇題
        C:鍵盤錄入一個字串的問題
            String s = sc.nextLine();
        D:根據給定的月份,輸出對應的季節
    (6)if語句和switch語句各自的場景
        A:if
            針對boolean型別的判斷
            針對一個範圍的判斷
            針對幾個常量的判斷
        B:switch
            針對幾個常量的判斷

2:迴圈語句(掌握)
    (1)有三種:for,while,do...while
    (2)for迴圈語句
        A:格式
            for(初始化語句;判斷條件語句;控制條件語句){
                迴圈體語句;
            }
            
            執行流程:
                a:執行初始化語句
                b:執行判斷條件語句
                    如果這裡是true,就繼續
                    如果這裡是false,迴圈就結束
                c:執行迴圈體語句
                d:執行控制條件語句
                e:回到b
        B:注意事項
            a:判斷條件語句無論簡單還是複雜,結果是boolean型別
            b:迴圈體語句如果是一條,可以省略大括號,但是不建議
            c:有分號就沒有左大括號,有左大括號就沒有分號
        C:案例
            a:輸出10次HelloWorld
            b:輸出1-10的資料
            c:輸出10-1的資料
            d:求1-10的和
            e:求1-100的和,求1-100的偶數和,求1-100的奇數和
            f:求5的階乘
            g:在控制檯列印水仙花數
            h:統計水仙花個數
            i:改進版的迴文數
                一個五位數
                個位 = 萬位
                十位 = 千位
                個位 + 十位 + 千位 + 萬位 = 百位
            j:統計1-1000之間同時滿足如下條件的資料有多少個
                x%3==2
                x%5==3
                x%7==2
    (3)while迴圈
        A:基本格式
            while(判斷條件語句) {
                迴圈體語句;
            }
            
            擴充套件格式:
            初始化語句;
            while(判斷條件語句){
                迴圈體語句;
                控制條件語句;
            }
            
            通過檢視這個格式,我們就知道while迴圈可以和for迴圈等價轉換。
        B:while的練習
            把for語句的練習用while改進
        C:for和while的區別
            a:使用上的區別
                for語句的那個控制條件變數,在迴圈結束後不能在使用了。
                而while的可以繼續使用。
            b:理解上的區別
                for適合於一個範圍的判斷
                while適合次數不明確的
                    舉例:吃葡萄
        D:案例:
            a:珠穆朗瑪峰問題
            b:小芳存錢問題(break以後才能做)
    (4)do...while迴圈
        A:基本格式
            do {
                迴圈體語句;
            }while(判斷條件語句);
            
            擴充套件格式:
            初始化語句;
            do {
                迴圈體語句;
                控制條件語句;
            }while(判斷條件語句);
            
            通過檢視格式,我們就可以看出其實三種迴圈的格式可以是統一的。
        B:三種迴圈的區別
            a:do...while迴圈至少執行一次迴圈體
            b:for和while必須先判斷條件是否是true,然後後才能決定是否執行迴圈體
    (5)迴圈使用的注意事項(死迴圈)
        A:一定要注意修改控制條件,否則容易出現死迴圈。
        B:最簡單的死迴圈格式
            a:while(true){...}
            
            b:for(;;){}
            
3:控制跳轉語句(掌握)
    (1)break:中斷的意思
        A:用在迴圈和switch語句中,離開此應用場景無意義。
        B:作用
            a:跳出單層迴圈
            b:跳出多層迴圈,需要標籤語句的配合
    (2)continue:繼續
        A:用在迴圈中,離開此應用場景無意義。
        B:作用
            a:跳出單層迴圈的一次,可以繼續下一次
        C:填空題
            for(int x=1; x<=10; x++) {
                if(x%3 == 0) {
                    //補齊程式碼
                }
                System.out.println("Java基礎班");
            }
            如何讓控制檯輸出2次:Java基礎班
            如何讓控制檯輸出7次:Java基礎班
            如何讓控制檯輸出13次:Java基礎班
    (3)return:返回
        A:用於結束方法的,後面還會在繼續講解和使用。
        B:一旦遇到return,程式就不會在繼續往後執行。