Java基礎整理--控制語句

本文整理Java中的控制語句,羅列基礎中的不常見或者易忽略的語法。控制語句中還有最簡單的 if 語句,本文未列出。

Switch

  1. case語句匹配成功的分支執行,分支當中最後有“break;”語句的話,整個switch語句終止;分支當中沒有“break;”語句的話,直接進入下一個分支執行(不進行匹配),這種現象被稱爲case穿透現象【提供break;語句可以避免穿透】
  2. 所有分支都沒有匹配成功,若有default語句的話,則執行default分支當中的語句
  3. switch後面和case後面只能是int或者String類型的數據(JDK6只能探測int類型,JDK7及以後的版本能探測int或者String類型),不能是其他類型;byte, short, char可以直接寫到switch和case後面,因爲它們可以進行自動類型轉換
//switch後只能探測int或者String類型
long x = 10L;
switch(x){} //這裏的x會報錯,要求進行強制類型轉換

//char類型自動轉換爲int類型
char c = 'B';
switch(c){
	case 'A':
		System.out.println("高級!");
		break;
	case 66: //'B'對應的ASCII碼爲66,程序運行輸出爲“中級!”
		System.out.println("中級!");
		break;
}
  1. case合併
		int x = 3;
        switch(x){
            case 1: case 3: case 10:
                System.out.println("success!");
                break;
        }

for/while

  1. for死循環
    for( ; ; ){ System.out.println(“死循環”);}
    注:(1)for循環中的初始化表達式,布爾表達式,更新表達式都不是必需的;但兩個分號是必需的。(2)布爾表達式必須是true/false,不能是其他值
  2. while死循環
    以下程序編譯報錯
while(true){
            System.out.println("死循環!");
        }
System.out.println("Hello!"); //編譯器分析出上面爲死循環,該條語句永遠不可到達,編譯報錯

同樣的,判斷以下程序編譯是否報錯

        int y = 10;
        int z = 3;
        while(y > z){
            System.out.println("哈哈");
        }
        System.out.println("嘿嘿"); //編譯通過,程序在運行期間才能訪問y和z
        ==================
        while(10 > 3){
            System.out.println("嘻嘻");
        }
        System.out.println("呵呵"); //編譯報錯,程序判斷上面的while陷入死循環,該語句不可達
  1. do…while循環
    語法:
do{
	循環體;
}while(布爾表達式); //注意這裏是有分號的

break/continue

(1)默認情況下,break語句終止的是離它最近的循環語句。當然也可以指定終止某個循環,需要給循環起名。採用這種語法:break 循環名稱;【用的較少】

for1:for(int i = 0; i < 3; i++){
            for2:for(int j = 0; j < 10; j++){
                if(j == 5){
                    break for1;
                }
                System.out.println("j=" + j); //執行結果爲打印出j=0 j=1 j=2 j=3 j=4;
            }
        }

(2)continue語句表示不再執行continue語句後的語句,繼續循環

for(int i = 0; i < 5; i++){
        if(i == 2)
              continue;
        System.out.println("i=" + i); //打印的結果爲i=0 i=1 i=3 i=4
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章