Java零基礎-控制語句
if,if...else...
if結構的語句有四種編寫方式:
第一種:
1 if(布林表示式){ 2 java語句; 3 java語句; 4 ..... 5 }
第二種:
1 if(布林表示式){ 2 java語句; 3 java語句; 4 ..... 5 }else{ 6 java語句; 7 java語句; 8 ..... 9 }
第三種:
1 if(布林表示式1){ 2 java語句; 3 java語句; 4 ..... 5 }else if(布林表示式2){6 7 java語句; 8 java語句; 9 ..... 10 }else if(布林表示式3){ 11 12 java語句; 13 java語句; 14 ..... 15 }......
第四種:
1 if(布林表示式1){ 2 java語句; 3 java語句; 4 ..... 5 }else if(布林表示式2){ 6 7 java語句; 8 java語句; 9 ..... 10 }else if(布林表示式3){ 11 12 java語句; 13 java語句;14 ..... 15 }......else{ 16 17 java語句; 18 java語句; 19 ..... 20 }
總結:1、對應java中的if語句來說,只要有一個分支語句執行,整個if語句結束。
2、對應以上第二種、第四種結構,都帶有else分支,這兩種方式可以保證100%有分支執行。
3、對應以上第一種、第三種結構,有可能一個分支都不執行。
4、所有的控制語句都是可以巢狀使用的,只要合理即可,如:
1 if(布林表示式1){ 2 if(布林表示式1){ 3 java語句; 4 java語句;5 ..... 6 }else if(布林表示式11){ 7 java語句; 8 java語句; 9 ..... 10 } 11 }else{ 12 if(布林表示式2){ 13 java語句; 14 java語句; 15 ..... 16 }else if(布林表示式21){ 17 java語句; 18 java語句; 19 ..... 20 } 21 }
5、if分支中只有一條java語句時,可以省略“{}”。即以下兩種寫法等價,一般建議使用第一種。
1 //第一種 2 if(布林表示式){ 3 一條java語句; 4 } 5 6 //第二種 7 if(布林表示式) 一條java語句;
switch
switch語法結構:
1 switch(int或String型別的字面值或變數){ 2 case int或String型別的字面值或變數: 3 java語句; 4 ...... 5 break; 6 case int或String型別的字面值或變數: 7 java語句; 8 ...... 9 break; 10 case int或String型別的字面值或變數: 11 java語句; 12 ...... 13 break; 14 ...... 15 default: 16 java語句; 17 ...... 18 }
switch執行原理:
1、switch後面小括號當中的"資料"和case後面的"資料"按照自上而下的順序一一執行,匹配成功的語句執行。
2、匹配成功的分支執行,分支當中最後有"break;"語句時,整個switch結束執行。
3、分支當中最後沒有"break;"語句時,直接進入下一個分支執行(不進行匹配),這種現象被稱為case穿透。
4、如果所有分支都沒有匹配成功,當有default語句時,會執行default分支當中的語句。
5、switch後面和case後面只能是int或String型別的資料(JDK7及其之後的版本),不能是其他型別。當然,byte\short\char型別的資料也可以直接放在switch和case後面,因為byte/short/char可以自動型別轉換。
6、case可以合併:
1 int i = 10; 2 switch(i){ 3 case 1: case 2: case 3: case 10: 4 System.out.println("Test!"); 5 break; 6 }
迴圈結構
迴圈語句-for
for迴圈的語法結構:
1 for(初始化表示式;布林表示式;更新表示式){ 2 需迴圈執行的程式碼片段; 3 }
for迴圈的執行原理:
1、初始化表示式、布林表示式、更新表示式都不是必須的,但是兩個“;”是必須的。
2、初始化表示式最先執行,並且在整個for迴圈中只執行一次。
3、布林表示式必須是true/false,不能是其他值。
4、for迴圈的執行過程:先執行初始化表示式,並且該表示式只執行一次;然後判斷布林表示式的結果是true或false;如果布林表示式true,則執行迴圈體,然後執行更新表示式並判斷布林表示式結果;如果布林表示式false,則迴圈結束。
5、迴圈語句可以巢狀使用。
使用for迴圈輸出九九乘法表:
1 /* 2 九九乘法表: 3 1*1=1 4 1*2=2 2*2=4 5 1*3=3 2*3=6 3*3=9 6 1*4=4 2*4=8 3*4=12 4*4=16 7 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 8 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 9 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 10 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 11 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 12 */ 13 14 public class MultiplicationTable{ 15 public static void main(String[] args){ 16 for(int i = 1; i <= 9; i ++ ){ 17 for(int j = 1; j <= i; j ++ ){ 18 System.out.print(j + "*" + i + "=" + (j * i) + " "); 19 } 20 System.out.println();//換行 21 } 22 } 23 }
迴圈語句-while
while迴圈的語法結構:
1 while(布林表示式){ 2 迴圈體; 3 }
while迴圈的執行原理:
先判斷布林表示式的結果,如果為true,則執行迴圈體,然後再判定布林表示式的結果;如果為假,則迴圈結束。
while迴圈的執行次數:0~N次。
迴圈語句-do...while
do...while迴圈的語法結構:
1 do{ 2 迴圈體; 3 }while(布林表示式);
do...while迴圈的執行原理:先執行一次迴圈體,然後判斷布林表示式的結果,如果為true,則繼續執行迴圈體;如果為假,則迴圈結束。
do...while迴圈的執行次數:至少執行一次。
控制迴圈的結構
控制語句-break
1、break是Java語言當中的關鍵字,被翻譯為“中斷/折斷”;
2、break + “;”可以成為一個單獨的完整的Java語句:break;
3、break語句使用在switch語句中,用來終止switch語句執行;同樣可以用在迴圈語句中,用來終止迴圈的執行。
4、break;語句用在for,while,do...while迴圈語句中用來跳出迴圈,終止迴圈的執行。預設情況下,終止的是離它最近的迴圈,但可以指定終止的迴圈。
1 public class Test{ 2 public static void main(String[] args){ 3 A:for(int i = 0; i <= 10; i ++ ){//給for迴圈取名A 4 B:for(int j = 0; j <= 10; j ++ ){//給for迴圈取名B 5 if(j == 5){ 6 //break;//終止當前的for迴圈 7 //break A;//終止外層迴圈A 8 //break B;//終止內層迴圈B 9 } 10 System.out.print(i); 11 } 12 } 13 } 14 }
控制語句-continue
1、continue表示“繼續/go on/下一個”。
2、continue + ";"構成一個完整的Java語句,主要出現在迴圈語句中用於控制迴圈的執行。
3、break和continue的區別:
break表示迴圈不執行了;
continue表示本次迴圈不執行,直接進入下一次迴圈執行。
4、continue也可以有語法:【continue 迴圈名稱;】類似於:【break 迴圈名稱;】