java中的選擇結構與循環結構
這是Java語言中最常見的兩種程序結構,當然不只是java如此。簡單來說,選擇結構有if結構和switch結構,而循環結構有while、do while以及for結構。
如果沒有這樣的結構,我們編寫的程序總是從入口開始,順序執行每一條語句,直到執行完最后一條語句結束。
生活中我們經常需要進行條件的判斷,根據判斷結果決定是否做一件事情,另外遇到錯誤時也要有相應的反饋,這都需要選擇結構,而很多情況之下一次操作並不能解決問題,這就需要循環結構。用程序解決問題也要對比生活中的實際情況。
if (條件){
代碼塊
}
這是if簡單結構的形式,流程圖如下:
小括號中的條件是值為true或false的表達式。結果為true時先執行大括號內的代碼塊,為false時則跳過。可用else{代碼塊}表示false時要執行的命令來代替跳過操作。
if結構需要用到邏輯運算符,即&&,||,!,分別對應與,或,非。還有==表示“等於”。
多重if用到了else if,當不滿足if后的語句時,判斷else if后的語句,若還不滿足則判斷下一個else if語句,最后為else(可省略)。
嵌套if即在if后的代碼塊中又加入一個if結構,當然也可以在里面的if中繼續嵌入if。只要注意結構不要出錯。
switch結構可以更好地解決等值判斷問題,不過適用的范圍沒有if結構大。盡管如此,這種結構非常常用。電學的開關,控制着電流的流向,switch結構控制着等值判斷的情況下程序的走向。
switch (表達式){
case 常量1:
//代碼塊1;
break;
case 常量2:
//代碼塊2;
break;
……
default:
//代碼塊n;
break;
}
以上是switch結構的語法,其中有時候default可以省略,如果不寫break的話,很多IDE(集成開發環境)不報錯,但是一旦該常量符合要求,直到下一個break前的所有代碼塊都會被執行。
switch表示開關,case表示情況,default表示缺省,即其它情況都不滿足。
利用循環結構可以讓計算機幫助我們完成繁重的計算任務。
循環結構的流程圖如上。
while(循環條件){
//循環操作
}
while結構的一般執行順序為:首先初始化循環變量,然后判斷循環條件(如i<9)是否滿足,滿足則執行循環,否則跳出,最后如果滿足循環,通過改變量(如i=i+1)再次判斷循環條件,決定繼續執行或退出。
while還有一種結構,即do-while:
與while一般結構不同,do-while至少要執行一次“循環”,因為循環條件是在執行一次之后才給出的。
do{
循環體;
}while(循環條件);
需要注意的是while部分后的分號不要忘記。
編寫循環結構代碼時還需要注意循環變量的初值,(循環操作中)對循環變量值的改變,循環條件這三者之間的關系。一定要確保循環次數正確,避免出現死循環的錯誤,不然可能會有很嚴重的后果。
for循環很常用,因為結構簡單明了。
for(表達式1;表達式2;表達式3){
//循環體;
}
表達式1為賦值語句,為循環變量賦初值(如i=0)。
表達式2為條件語句,即循環條件(如i<10)。
表達式3為迭代部分,用於修改循環變量的值(如i++)。
在運行中計算機將依次執行三個表達式對應的操作,滿足循環條件就執行循環體,與while、do-while無更多的差別。需要注意小括號中的分號不能省略(省略表達式不報錯,但程序不一定正確)。有時候要停止整個循環,或跳到下一個循環,需要用到跳轉語句。
java支持break,continue,return三種跳轉。
在循環體中,如果滿足內部的一個判斷執行到break,則停止循環。continue則是不執行后面操作直接進入下一個循環。而如果滿足return條件,則退出循環並返回到循環之前,與break有些類似(但是結束的是整個方法,即for等結構之外的大括號)。