程式控制語句

andynau發表於2006-08-28
1.if語句:關於巢狀if語句要記住一個else語句總是和同一個程式碼塊中最近的且沒有else與之匹配的if語句相匹配;關於if-else-if語句,其執行為:一旦找到為真的條件,就執行與其相關的語句,而後面的語句就會被跳過,如果條件表示式都不為真,那麼就執行最後一個else語句。其基本形式如下:
    if(condition)
       statement;
    else if(condition)  //注意必須有else,否則每次順序執行每條語句,該語句塊失效
       statement;
    else if(condition)
       statement;
 .
 .
 .
     else
       statement;
2.switch語句:switch表示式可以是char、byte、short、int型別的,通常控制switch語句的表示式只是一個變數,case常量必須是一個與表示式型別相相容的字面值,同一個switch中的兩個常量不能有相同的值;case語句還可以為空,這樣使得若干case語句共享一段程式碼;若case語句不包括break語句,則case語句會全部執行;一個switch語句可以最為另一個switch語句序列的記憶體語句,即使兩個switch的case常量包含相同的值也不會發生衝突;編寫多路分支程式時,當控制選擇過程的條件不依賴於一個值時應該使用if-else-if,另外當測試的浮點值或其他型別的物件不是switch表示式中可以使用的有效型別時,也要使用if-else-if。
3.for迴圈:其一個關鍵是條件表示式是在迴圈的頂部測試的;控制迴圈的條件可以是任何有效的Boolean型別的表示式,與迴圈控制變數無關;另外也可以有多個迴圈控制變數,但在實際應用中,超過三個時就會使得for迴圈變得不太實用;for迴圈的所有或部分初始化、條件或迭代部分都可以為空;把for迴圈的條件表示式設為空,可以生成無限迴圈;for迴圈還可以沒有迴圈體;當for迴圈的控制變數只是用於迴圈本身而並無其他用途時,可以在for迴圈的初始化部分宣告迴圈控制變數,這時須注意其作用域為for迴圈內部。
4.while和do-while迴圈:while迴圈是在迴圈頂部檢查條件表示式;do-while迴圈是在底部進行條經濟檢查的,故do-while迴圈至少執行一次;控制while迴圈的條件必須是boolean型別的;
5.break語句:該語句可以跳過迴圈體的其餘程式碼和迴圈條件測試,強迫迴圈立即退出;break可以與包括有意設定的無限迴圈在內的java的任何迴圈語句結合使用;在巢狀迴圈中使用break語句時,它結束的只是內部迴圈;另外,一個迴圈中可以出現多個break語句,但太多的break語句會破壞程式碼的結構;結束switch語句的break語句隻影響switch語句,而不影響其中的迴圈;
6.將break語句作為一種goto語句使用:這是java定義的break語句的擴充套件形式,通過使用這種形式的break語句,可以從一個或多個程式碼塊中退出,而且不需要是一個迴圈或switch語句的一部分,可以是任何程式碼塊,而且還可以精確的指定執行流重新定位的位置;該語句的形式為:break label;label是用於識別程式碼塊的標記名,當這種break語句執行時,控制就會轉移到程式碼塊以外,已標記的程式碼塊必須包含break語句,但不必立即結束程式碼塊,這樣就可以使用一個帶標記的break語句從一系列的巢狀程式碼塊中退出,但卻不能使用該語句把控制權轉移到另一個不包含break語句的程式碼塊。
7.continue語句:continue語句會跳過它本身以及控制迴圈的條件表示式,強迫迴圈的下一次迭代發生;在while和do-while迴圈中,continue語句會使控制權直接轉移到條件表示式,然後繼續迴圈過程,在for迴圈中,會先計算迭代表示式,然後執行條件迭達式,再繼續進行迴圈;與break一樣,continue語句可以指定一個標記來描述要繼續執行的包含的迴圈。 

相關文章