標籤:
一.概述
Java提供了兩種基本的流程式控制制結構:分支結構和迴圈結構。其中分支結構用於是根據條件來選擇執行某段代碼,迴圈結構則是根據迴圈條件重複執行某段代碼。分支語句有if和switch兩種,迴圈語句有for、while和do while三種。除此之外,jdk1.5還提供了foreach迴圈,同時java還提供了break和continue來控製程序的迴圈結構。
一.本文
1、順序結構
這是程式最常見的結構,如果沒有流程式控制制,java就會從上到下一次執行每條語句,這個沒什麼可說的。
2、分支結構
2.1 if條件陳述式
If有三種形式:
第一種:
if(logic expression){ statement...}
第二種:
if(logic expression){ statement...}else{ statement....}
第三種:
if(logic expression){ statement...}else if(logic expression){ statement...}....\\可以寫零個和多個else ifelse{ statement...}
注意:if括弧裡面的內容只能是一個邏輯運算式,傳回值只能是true或false。第三種形式的多行代碼稱為代碼塊,通常被當成一個整體執行,除非遇到break、return、contin等關鍵字,或者遇到異常。
2.2 switch分支語句
格式如下:
switch(expression){ case condition1: { statement(s) break; } case condition2: { statement(s) break; } ...... case conditionN: { statement(s) break; } default: { statement(s) }}
注意:switch語句後的expression運算式的資料類型只能是byte、short、char、int四個整數類型和枚舉類型。
3、迴圈結構
3.1 while迴圈語句
格式如下:
while(expression){ statement;}
注意:while(expression);是個陷阱,後面千萬不能加分號,否則會造成死迴圈;還有一定要保證while有跳出迴圈的時候,否則也會成為死迴圈。
3.2 do while迴圈語句
格式如下:
do{ statement;}while (expression);
注意:與while不同的是,do while後必須有一個分號,這個分號表明迴圈結束;while先判斷條件,如果為真則執行迴圈體,do while則是先執行迴圈體,然後才判斷條件,為真則繼續,否則結束。
3.3 for 迴圈
格式如下:
for([init_statment];[expression];[iteration_statement]){ statement;}
注意:init_statment初始化語句只執行一次,然後判斷expression是否為真(expression只能是邏輯運算式),如果為真就執行迴圈體,迴圈體結束後執行iteration_statement,然後再判斷expreeion,如果為真則繼續,否則結束。
4、控制迴圈結構
4.1 使用break結束迴圈
break是用於完全結束一個迴圈,當有些時候我們需要在某種條件出現時強行終止迴圈,而不是等到迴圈條件為false才退出迴圈。
注意:一般情況break只是結束當前迴圈,但是如果break後面緊跟一個標籤,可以結束標籤所標識的外層迴圈(標籤只有放在迴圈語句之前才有作用)。例如:
outer:for(int i=0; i<5; i++){ for(int j=0; j<3; j++) { if(j == 1) break outer; }}
4.3 使用return結束方法
return並不是專門用於結束迴圈的,而是結束一個方法。如下:
public class Test{ public static void main(String[] args) { for( int i=0; i<3; i++) { if(i == 1) return; } }}
當i==1是運行到return時,直接就結束當前方法,這裡是結束main方法(main方法結束也意味著程式結束)。
三. 總結
這是我對流程式控制制結構的基本使用方法和格式做的簡單的總結,其實還有比較特殊的情況,比如for(;;)和while(true)是無限迴圈。迴圈還可以嵌套使用,大迴圈裡套了小循。for迴圈對比while,for迴圈括弧內變數使用完了就在記憶體中釋放了,也就是說迴圈結束後就無法使用,while則相反,迴圈結束後變數還存在,能繼續使用。
黑馬程式員——Java基礎---流程式控制制