3.3 循環結構語句

3.3 循環結構語句
在程序設計過程中,當在滿足一定條件的前提下需要反覆執行一些相同的操作時,使用循環結構語句便是最好的選擇了。Java語言提供的循環結構語句包括for語句、while語句和do while語句。作爲一個循環結構來說,應該包含如下內容:賦初值部分:用於設置循環控制的一些初始條件。
循環體部分:需要反覆執行的代碼(塊),當然也可以是一句單一的語句。循環控制變量增減方式部分:用於更改循環控制狀況。
判斷條件(也稱循環終止條件)部分:是一個返回邏輯(布爾)值的表達式,用於判斷是否滿足循環終止條件,以便及時結束循環。

3.3.1 for循環語句
for循環語句的使用適應於明確知道重複執行次數的情況,其語句格式如下: 
for(賦初值;判斷條件;循環控制變量增減方式) {
(循環體)語句塊;
} 
for循環的執行流程如圖3ˉ6所示。 

 
圖3ˉ6 for循環語句流程圖 

1)第一次進入for循環時,對循環控制變量賦初值。
2)根據判斷條件的內容檢查是否要繼續執行循環,如果判斷條件爲真,繼續執行循環,如條件爲假,則結束循環執行下面的語句。
3)執行完循環體內的語句後,系統會根據循環控制變量增減方式,更改循環控制變量的值,再回到步驟2重新判斷是否繼續執行循環。
例3.3.1 利用for循環語句計算從1累加到100的結果。
程序如下:


for循環語句格式中的三項內容(賦初值;判斷條件;循環控制變量增減方式)可以視不同情況省卻一個、兩個,甚至全缺。例如在上面的例題(例3.1.1)中,將程序改成: 

將得到與例3.3.1完全相同的輸出結果。
例3.3.2 利用for循環輸出斐波那契序列的前30項數據。且每十個數據輸出一行。
說明:斐波那契序列的第一、第二項都是1,後續各項是各項的前兩項之和。
其運算公式爲:

3.3.2 while循環結構語句
在不知道一個循環體會被重複執行多少次的情況下,可以選擇使用while循環結構語句,while語句的語法格式如下:   
whi le(判斷條件){
(循環體)語句塊;
循環控制變量增(減)值;
}  
while循環的執行流程如下:
1)在進入while循環前,對循環控制變量賦初值。
2)根據判斷條件檢查是否要繼續執行循環,如果判斷條件爲真,繼續執行循環,若條件爲假,則結束循環執行下面的語句。
3)執行完循環體後,系統會根據循環控制變量增減方式,更改循環控制變量的值,再回到步驟2重新判斷是否繼續執行循環。
while循環的執行流程如圖3ˉ7所示。

 
圖3ˉ7 while循環語句流程圖


例3.3.3 編程序計算當n爲多大時下列不等式成立。

3.3.3 do while循環結構語句
do while循環語句功能與while語句類似,但do while語句的循環終止判斷是在循環體之後執行,也就是說,它總是先執行一次循環體,然後判斷條件表達式的值是否爲真,若爲真,則繼續執行循環體;否則循環到此結束。與do while語句所不同的是,while語句如果開始時判別表達式爲假,則可能一次都不執行循環體而直接結束循環。 圖3ˉ8 do while循環語句流程圖 do while循環的語法格式如下: 
do{ 
(循環體)語句塊;
循環控制變量增(減)值;

whi le(判斷條件)
do while循環的執行流程如圖3ˉ8所示。

例3.3.4 編程序計算1到1000000之間10的方冪的平方根(即計算10 0 、10 1 、10 2 ……的平方根)。
程序如下:
 
 
本程序中使用的pow(double a,double b)方法,返回第一個參數(a)的第二個參數(b)次冪的值,即a  b 的值。該方法被封裝於java.lang中的Math類中。

3.3.4 循環結構語句的嵌套
當循環語句的循環體中又出現循環語句時,就稱爲循環嵌套。Java語言支持循環嵌套,如for循環嵌套、while循環嵌套,當然也可以使用混合嵌套。在for循環嵌套的程序設計中,輸出九九乘法表是典型的示例。
例3.3.5 輸出九九乘法表。
程序如下:
 
在程序設計過程中,選擇結構語句與循環結構語句互相嵌套使用也是相當常見的。例3.3.6 輸出1到100之間的所有偶數,並控制每行輸出五個偶數。
程序如下:


例3.3.7 編一程序,從鍵盤輸入一個自然數,判別其是否爲素數(只能被1和其本身整除的自然數稱爲素數)。
程序如下:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章