1. 程式人生 > >java學習筆記(4)

java學習筆記(4)

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%32 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,程式就不會在繼續往後執行。