第六章筆記
循環結構(二)
學習本章有道的單詞:
rate:速度,比率
young:年輕的,年少
schedule:時間表,調度
neggtive:消極的;否定
customer:顧客,觀眾
birthday:生日
point:點.指向,分點數
continue:繼續,延生,持續
return:返回,歸還
for:為了,因為:為了,對於
for循環
語法:
for(表達式1;表達式2;表達式3){
//循環體
}
表達式1:賦值語句>循環結構的初始部分,為循環變量賦初值,eg:int i =0
表達式2:條件語句>循環結構的循環條件,eg:i<100
表達式3賦值語句,通常使用++或--運算符>循環結構的叠代部分,通常用來修改循環變量的值eg:++
for關鍵字後面括號中的三個表達式必須用分號隔開.for循環中的這三個部分及{}中的循環體使循環結構必需的四個組成部分完美地結合在了一起,非常簡明
for循環結構執行的順序:
(1)執行初始部分(int i = 0;).
(2)進行循環條件判斷(i<100)
(3)根據循環條件判斷結果.如果為true,則執行循環體;如果為false,則退出循環,步驟(4),(5)均不執行.
(4)執行叠代部分,改變循環變量值(i++).
(5)依次重復步驟(2)~步驟(4),直到退出for循環結構.
表達式1這個初始部分僅僅執行了一次.
註意!
for循環結構有三個表達式,在語法上,這三個表達式都可以省略,但表達式後面的分號不能省略.如果省略了表達式,要註意保證循環能夠正常運行.
首先給出一個表達式:
for(int i =0; i< 10;i++);
>省略表達式1:
for(; i< 10;i++);
如果出現"表達式1"省略的情況,則需要在for語句前給循環變量賦值,因此可將上面的語句修改為:
int i = 0;
for(; i< 10;i++);
>省略表達式2:
for(int i =0; ;i++);
如果出現"表達式2"省略的情況,會出現"死循環"的情況,一種方法是添加表達式2,一種是在循環體中使用break強制跳出循環結構.關於break語句的用法,將在後面介紹.
>省略表達式3:
for(int i =0; i< 10;);
如果出現"表達式3"省略的情況,,變量的值始終是0,因此循環條件永遠成立,程序也會出現死循環.那我們可以在循環體中添加i++;
for(int i =0; i< 10;){
i++;
}
在實際開發中,為了提高代碼的可讀性,盡量不要省略各個表達式.如果需要省略,可以考慮是否改用while或do-while結構.
跳轉語句
Java支持三種形式的跳轉:break,continue和return.return在後面講.
break語句:
break語句在前面章節中switch語句中有使用,break語句用於終止某個循環,使程序跳到循環體外的下一條語句.在循環中位於break後的語句將不再執行,循環也停止執行.
break語句不僅可以用在for循環結構中,也可以用在while和do-while循環結構中,break語句通常與if條件語句一起使用.
continue語句:
continue語句可以用於for循環結構,也可以用於while和do-while循環結構.在for循環結構中,continue語句使程序先跳轉到叠代部分,然後判斷循環條件.如果為true,則繼續下一次循環;否則終止循環.在while循環結構中,continue語句執行完畢後,程序將直接判斷循環條件.continue語句只能用在循環結構中.
對比兩個結構:
>break語句用於終止某個循環,程序跳轉到循環體外的下一條語句.
>continue語句用於跳出本次循環,進入下一次循環的語句.
循環結構總結
三種循環結構:
while,do-while和for循環結構.
三種循環結構都有四個必不可少的部分:初始部分,循環條件,循環體,叠代部分,缺少了任何一個都可能造成嚴重錯誤.
對比>語法不同
while循環語句:
while(<條件>){
//循環體
}
do-while循環語句:
do{
//循環體
}while(<條件>);
for循環語句:
for(初始化;條件;叠代) {
//循環體
}
執行順序不同
>while循環結構:先進行條件判斷,在執行循環體.如果條件不成立,退出循環.
>do-while循環結構:先執行循環體,在進行條件判斷,循環體至少執行一次.
>for循環結構:先執行初始化部分,再進行條件判斷,然後執行循環體,最後進行叠代部分的計算.如果條件不成立,跳出循環.
適用情況不同
>對於循環次數確定的情況下,通常選用for循環結構;對於循環次數不確定的情況,通常選用while和do-while循環結構.
第六章筆記