1. 程式人生 > 實用技巧 >Java零基礎-控制語句

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 = 102 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 迴圈名稱;】