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

控制流程

控制流程

  • 順序結構

很簡單 從上到下

if選擇結構

if選擇結構就是 如果……那麼……這樣一個結構

 if (/*布林條件判斷*/){
     //執行語句
 }

如果括號裡的值為真,那麼就執行花括號裡面的語句

是一個選擇分支的一個結構

switch選擇結構

switch是一種多選擇結構,很想我們平時做到的單選題,ABCD四個選項,當然switch不會是侷限於4個選項那樣

switch語句中的變數型別是byte short int char

從jdk 7 開始也支援String型別

		char score = 'A';
		switch (score){
            case 'A' :
                System.out.println("優秀");
                break;  //可選
            case 'B' :
                System.out.println("良好");
                break;  //可選
            case 'C' :
                System.out.println("中等");
                break;  //可選
            case 'D' :
                System.out.println("你好撈啊");
                break;  //可選
            default:    //可選
                System.out.println("什麼玩意");
        }
    }

上面switch結構一看,傳的值是A,那就執行case 'A' 結果就會輸出優秀兩個字了

case 穿透現象

如果沒有break語句,那麼上面的程式碼他就不僅顯示優秀,還會把B C D 以及defalut

的語句都會執行一便 結果就會輸出

優秀

良好

中等

你好撈啊

什麼玩意

這個就是case穿透現象

JDK 7 新特性

也就是開始提及的支援變數型別為String型別

通過反編譯發現,如果變數型別是String型別,他會把String的字串整一個hashCode,字元的本質還是數字,轉成hashCode實際上就是在case int型別變數

while迴圈

基本結構

        while (布林表示式){
            迴圈內容
        }

只要布林表示式為true那麼這個迴圈就會一直跑下去,這樣容易死迴圈,影響程式效能或者造成卡死崩潰,這種情況我們是要避免的。

這我們就需要一個讓表示式失效的方式來結束迴圈

比如表示式i < 100 然後迴圈內容來個i++之類的方式。

do...while迴圈

  • 對於while語句,不滿足判斷,就不能迴圈,我們有時候也會遇到即使不滿足判斷也要迴圈執行至少一次
  • while和do...while相似,區別就是while是先判斷後執行,do...while是先執行後判斷

下面是do...while的基本結構

    do {
        //程式碼語句
    }while (布林表示式);

for 迴圈

基本結構

	for (初始化條件; 布林表示式; 更新) {
        //程式碼語句
    }

先執行初始化,表示式為true執行迴圈,false迴圈終止。一次迴圈執行畢後,再次檢測布林表示式,重複上面的內容

for迴圈是很靈活的迴圈結構,也是最為常用的

  • 使用for迴圈列印一個九九乘法表
        for (int i = 1; i <= 9; i++) {
            for (int n = 1; n <= i; n++) {
                    System.out.print(n + "*" + i + "=" + n*i + "\t");
            }
            System.out.println();
        }

系統輸出如下

可以看見僅僅6行 實際上是4行程式碼,就敲出來一個九九乘法表,讓我不禁為for迴圈的靈活精巧而感嘆了。

增強for迴圈

jdk5引入,主要用於陣列和集合的使用

        int[] numbers = {10, 20, 30, 40, 50};
        //遍歷陣列元素
        for (int x : numbers){
            System.out.println(x);
        }

簡單瞭解一下,這是for迴圈的一個應用

break continue

break

用於強制退出迴圈,在switch語句中經常使用

continue

這個是跳過該次迴圈中剩下的語句,繼續下一個迴圈