第一節(jié) JAVA條件語句之if語句
1.單獨(dú)的if語句,語法:if(條件){條件成立時(shí)執(zhí)行的代碼};如果if成立時(shí)執(zhí)行的語句只有一條,可以省略大括號(hào),如果是多句不可省略,比如某些方法if(條件),return;如果滿足此條件跳出方法。
2.條件語句之if…else,if(條件的布爾表達(dá)算式){符合條件則執(zhí)行的代碼}else{不符合執(zhí)行的代碼};
3.多重if語句,if(條件1){代碼塊1}else if(條件2){代碼塊2}else{代碼3};在條件 1 不滿足的情況下,才會(huì)進(jìn)行條件 2 的判斷;當(dāng)前面的條件均不成立時(shí),才會(huì)執(zhí)行 else 塊內(nèi)的代碼。
4.嵌套if語句,if(條件1){if(條件2){代碼塊1}else{代碼塊2}}else{代碼塊3};嵌套if語句,只有當(dāng)外層 if 的條件成立時(shí),才會(huì)判斷內(nèi)層 if 的條件。
第二節(jié) JAVA條件語句之switch
當(dāng)需要對(duì)選項(xiàng)進(jìn)行等值判斷時(shí),使用 switch 語句更加簡(jiǎn)潔明了。
1
2
3
4
5
6
7
8
9
10
11
12
|
switch (表達(dá)式){ case1:執(zhí)行代碼 1 ; break ; case2:執(zhí)行代碼 2 ; break ; case3:執(zhí)行代碼 3 ; break ; ...... case 值n:執(zhí)行代碼n; break ; default :默認(rèn)執(zhí)行的代碼; } |
執(zhí)行過程:當(dāng) switch 后表達(dá)式的值和 case 語句后的值相同時(shí),從該位置開始向下執(zhí)行,直到遇到 break 語句或者 switch 語句塊結(jié)束;如果沒有匹配的 case 語句則執(zhí)行 default 塊的代碼。
注意:
1、 switch 后面小括號(hào)中表達(dá)式的值必須是整型或字符型;
2、 case 后面的值可以是常量數(shù)值,如 1、2;也可以是一個(gè)常量表達(dá)式,如 2+2 ;但不能是變量或帶有變量的表達(dá)式,如 a * 2;
3、 case 匹配后,執(zhí)行匹配塊里的程序代碼,如果沒有遇見 break 會(huì)繼續(xù)執(zhí)行下一個(gè)的 case 塊的內(nèi)容,直到遇到 break 語句或者 switch 語句塊結(jié)束。如下面的代碼運(yùn)行結(jié)果:會(huì)將四個(gè)獎(jiǎng)勵(lì)全部輸出了一遍。
1
2
3
4
5
6
7
8
9
10
11
|
int num= 1 ; switch (num){ case 1 : System.out.println( "獎(jiǎng)勵(lì)筆記本一臺(tái)" ); case 2 : System.out.println( "獎(jiǎng)勵(lì)I(lǐng)PAD2一個(gè)" ); case 3 : System.out.println( "獎(jiǎng)勵(lì)移動(dòng)電源一個(gè)" ); case 4 : System.out.println( "獎(jiǎng)勵(lì)U盤一個(gè)" ); } |
4、 還可以把功能相同的 case 語句合并起來,如:
1
2
3
|
case 1 : case 2 : System.out.println( "獎(jiǎng)勵(lì)I(lǐng)PAD2一個(gè)" ); |
5、 default 塊可以出現(xiàn)在任意位置,也可以省略
第三節(jié) JAVA循環(huán)語句之while
Java
常用的 3 種循環(huán): while 、 do…while 、 for
語法:while(判斷條件){循環(huán)操作} 先判斷后執(zhí)行,執(zhí)行過程:
< 1 > 判斷 while 后面的條件是否成立( true / false );
< 2 > 當(dāng)條件成立時(shí),執(zhí)行循環(huán)內(nèi)的操作代碼 ,然后重復(fù)執(zhí)行< 1 >、< 2 >, 直到循環(huán)條件不成立為止。
第四節(jié) JAVA循環(huán)語句之do…while
語法:do{循環(huán)操作}while(判斷條件) 先執(zhí)行后判斷,至少被執(zhí)行一次,執(zhí)行過程:
<1> 先執(zhí)行一遍循環(huán)操作,然后判斷循環(huán)條件是否成立;
<2> 如果條件成立,繼續(xù)執(zhí)行< 1 > 、< 2 >,直到循環(huán)條件不成立為止。
第五節(jié) JAVA循環(huán)語句之for循環(huán)
語法:for(循環(huán)變量;循環(huán)條件;循環(huán)變量變化){循環(huán)操作},執(zhí)行過程:
<1> 執(zhí)行循環(huán)變量初始化部分,設(shè)置循環(huán)的初始狀態(tài),此部分在整個(gè)循環(huán)中只執(zhí)行一次;
<2> 進(jìn)行循環(huán)條件的判斷,如果條件為 true ,則執(zhí)行循環(huán)體內(nèi)代碼;如果為 false ,則直接退出循環(huán);
<3> 執(zhí)行循環(huán)變量變化部分,改變循環(huán)變量的值,以便進(jìn)行下一次條件判斷;
<4> 依次重新執(zhí)行< 2 >、< 3 >、< 4 >,直到退出循環(huán)。
特點(diǎn):相比 while 和 do…while 語句結(jié)構(gòu)更加簡(jiǎn)潔易讀,三種可以相互替換。
注意:
1、 for 關(guān)鍵字后面括號(hào)中的三個(gè)表達(dá)式必須用 “;” 隔開,三個(gè)表達(dá)式都可以省略,但 “;” 不能省略。
a. 省略“循環(huán)變量初始化”,可以在 for 語句之前由賦值語句進(jìn)行變量初始化操作。
1
2
3
4
|
int i= 0 ; //循環(huán)半兩i在for語句之前賦值 for (;i< 10 ;i++){ //省略初始化變量 System.out.println( "I LOVE IMOOC!" ) } |
b. 省略“循環(huán)條件”,可能會(huì)造成循環(huán)將一直執(zhí)行下去,也就是我們常說的“死循環(huán)”現(xiàn)象。
1
2
3
|
for ( int i= 0 ;;i++){ //省略初循環(huán)條件 System.out.println( "I LOVE IMOOC!" ) } |
在編程過程中要避免“死循環(huán)”的出現(xiàn),因此,對(duì)于上面的代碼可以在循環(huán)體中使用 break 強(qiáng)制跳出循環(huán)(關(guān)于 break 的用法會(huì)在后面介紹)。
c. 省略“循環(huán)變量變化”,可以在循環(huán)體中進(jìn)行循環(huán)變量的變化。
1
2
3
4
|
for ( int i= 0 ;i< 10 ;){ System.out.println( "I LOVE IMOOC!" ) i++; //在循環(huán)體中改變變量i的值 } |
2、 for 循環(huán)變量初始化和循環(huán)變量變化部分,可以是使用 “,” 同時(shí)初始化或改變多個(gè)循環(huán)變量的值,代碼中,初始化變量部分同時(shí)對(duì)兩個(gè)變量 i 和 j 賦初值,循環(huán)變量變化部分也同時(shí)對(duì)兩個(gè)變量進(jìn)行變化,如:
1
2
3
4
5
6
7
8
9
|
for ( int i= 1 ,j= 5 ;j<= 5 ;i++,j--){ System.out.println(i+ "+" +j+ "=" +(i+j)); } 運(yùn)行結(jié)果: 1 + 5 = 6 2 + 4 = 6 3 + 3 = 6 4 + 2 = 6 5 + 1 = 6 |
3、 循環(huán)條件部分可以使用邏輯運(yùn)算符組合的表達(dá)式,表示復(fù)雜判斷條件,但一定注意運(yùn)算的優(yōu)先級(jí),如:
1
2
3
|
for ( int i= 1 ;i< 10 &&i!= 5 ;i++){ System.out.println(i); } |
第六節(jié) JAVA循環(huán)跳轉(zhuǎn)語句break及continue
break語句會(huì)跳出循環(huán),執(zhí)行后面的代碼。
continue的作用是跳過循環(huán)體中剩余的語句執(zhí)行下一次循環(huán)。
第七節(jié) JAVA循環(huán)語句之多重循環(huán)
循環(huán)體中包含循環(huán)語句的結(jié)構(gòu)稱為多重循環(huán)。三種循環(huán)語句可以自身嵌套,也可以相互嵌套,最常見的就是二重循環(huán)。在二重循環(huán)中,外層循環(huán)每執(zhí)行一次,內(nèi)層循環(huán)要執(zhí)行一圈。如下圖所示:
有興趣的朋友可以參考下
原文鏈接:http://blog.csdn.net/bo617520012/article/details/70149788