1. 程式人生 > >第六章:循環結構(二)

第六章:循環結構(二)

結構 不執行 三種 表達式 成了 不改變 條件 運算符 步驟

第六章:循環結構(二)

一. for 循環

1.循環結構的四個組成部分

(1). 初始部分:設置循環的初始狀態,比如我們設置記錄循環次數的變量 i 為 0 .

(2). 循環體:重復執行的代碼 .

(3). 叠代部分:下一次循環開始前要執行的部分,在while循環中它作為循環體的一部分,比如使用"i++;"進行循環次數的累加 .

(4). 循環條件:判斷是否繼續循環的條件 .

語法

for(表達式1; 表達式2; 表達式3)

{

循環體

}

2.for 循環中三個表達式的含義

表達式 形式 功能 舉例

表達式 1 賦值語句 循環結構的初始部分,

為循環變量賦初值 int i = 0

表達式 2 條件語句 循環結構的循環條件 i < 100

表達式 3 賦值語句,通常使用++或--運算符 循環結構的叠代部分,

通常用來修改循環變量的值 i++

2. 執行順序

(1). 執行初始部分 (int i = 0;) .

(2). 進入循環條件判斷 (i < 100) .

(3). 根據循環條件判斷結果

如果為true,執行循環體。

如果為false,退出循環體,步驟(4)、(5)均不執行 .

(4). 執行叠代部分,改變循環變量值 (i ++)

(5). 依次重復步驟(2)、(3)、(4),直到退出 for 循環結構

3.省略表達式

(1). 省略"表達式 1",例如:

[java] view plain copy print?

for( ; i < 10; i++);

這個for循環雖然省略了"表達式 1",但其後的";"號沒有省略。我們在實際編程中,如果出現"表達式 1"省略的情況,需要在 for 語句前給循環變量賦值。因此,可將上面的語句修改為:

[java] view plain copy print?

int i = 0;

for( ; i < 10; i++);

(2). 省略"表達式 2",即不判斷循環條件,循環將無終止運行,也就形成了"死循環",比如下面的for 語句:

[java] view plain copy print?

for(int i = 0; ; i++);

在編程過程中要避免"死循環"的出現,所以對上面的語句可以做如下修改:一種方法是添加"表達式 2",另一種方法是在循環體中使用 break 強制跳出循環。

(3). 省略 "表達式 3",即不改變循環變量的值,也會出現"死循環",比如下面的語句:

for(int i = 0; i < 10; );

這裏省略了 "表達式 3",變量 i 的值始終未 0,因此循環條件永遠成立,程序就會出現"死循環",在這種情況下,我們可以再循環體中改變 i 的值,語句如下:

[java] view plain copy print?

for(int i = 0; i < 10; )

{

i++;

}

這樣就能使循環正常結束,不會出現"死循環"

(4). 三個表達式都省略,即如下語句:

[java] view plain copy print?

for( ; ; );

上面這個語句在語法上沒有錯誤,但邏輯上市錯誤的,我們可以參考上面三種情況的描述進行修改。

在實際開發中,為了提高代碼的可讀性,盡量不要省略各個表達式,如果需要省略,可以考慮是否改用while或 do-while 循環。

4. 跳轉語句

Java 支持三種形式的跳轉:break (停止)、continue(繼續) 和 return (返回)。

1. break 語句

在 switch 結構中,break 語句用於終止 switch 語句中的某個分支,使程序跳到 switch 語句塊以外的下一條語句

在循環結構中,break語句用於用於終止某個循環、使程序跳到循環塊外的下一條語句。在循環中位於break後的語句將不再執行,循環也停止執行。

break 語句不僅可以用在 for循環中,也可以用在 while 和 do-while 循環中。

break 語句通常與 if 條件語句一起使用。

2. continue 語句

continue 語句用於,在某次循環中,我們不想執行完循環體中所有的語句,就像跳出次循環,開始執行下一次循環

continue 可以用於 for 循環,也可以用於 while 和 do-while 循環。 在 for 循環中, continue 使程序先跳轉到叠代部分,然後判斷循環條件。如果為 true,繼續下一次循環;否則終止循環。在while循環中,continue執行完畢後,程序將直接判斷循環條件。continue 語句只能用在循環結構中。

3.continue 和 break 語句的區別

在循環結構中:

(1). break 語句是終止某個循環,程序跳轉到循環塊外的下一條語句。

(2). continue 語句是跳出本次循環,進入下一次循環。

5. 循環結構

Java 提供的最主要的三種循環結構: while 、do-while 、for 循環

5對比:

1. 語法不同

while 循環語句

while(<條件>)

{

//循環體

}

// do-while循環語句

do

{

//循環體

}while(<條件>);

// for循環語句

for(初始化; 條件; 叠代)

{

//循環體

}

2. 執行順序不同

(1). while循環: 先進行條件判斷、再執行循環體。如果條件不成立,退出循環。

(2). do-while循環:先執行循環體,再進行條件判斷,循環體至少執行一次。

(3). for 循環:先執行初始化部分,再進行條件判斷,然後執行循環體,最後進行叠代部分的計算。如果條件不成立,跳出循環。

3. 適用情況不同

在解決問題時,對於循環次數確定的情況,通常選用 for 循環。對於循環次數不確定的情況,通常選用 while 和 do-while 循環。 1. break 語句是終止某個循環,程序跳轉到循環塊外的下一條語句。

2. continue 語句是跳出本次循環,進入下一次循環。

第六章:循環結構(二)