Java中的for循環——通過示例學習Java編程(9)

作者:CHAITANYA SINGH

來源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=21

循環用於反覆執行同一組語句,直到滿足特定條件爲止。在Java中,我們有三種類型的基本循環:for、while和do-while。在本教程中,我們將學習如何在Java中使用for循環(for loop)。

for循環的語法:
for(初始化initialization; 循環條件condition; 遞增/遞減increment/decrement)
{
statement(s);
}

for循環的執行流程

當程序在運行的時候,解釋器一直在跟蹤要執行的語句,我們稱之爲控制流,或者程序的執行流程。

第一步:在for循環中,首先進行初始化,在整個for循環中,初始化部分的語句只在開始的時候執行一次。

第二步:在每次迭代時評估for循環中的條件,如果條件爲true(真)則執行循環體內的語句。一旦條件返回false(假),for循環中的語句就不會執行,程序就跳到for循環外面的語句上運行。

第三步:每次執行for循環體後,程序回頭執行for循環的遞增/遞減部分,更新循環計數器。

第四步:第三步後,程序跳轉到第二步,重新評估循環條件,決定是繼續執行在for循環內部的語句還是跳出for循環執行後面的語句。

簡單for循環示例
class ForLoopExample {
public static void main(String args[]){
for(int i=10; i>1; i--){
System.out.println("The value of i is: "+i);
}
}
}

輸出:
The value of i is: 10
The value of i is: 9
The value of i is: 8
The value of i is: 7
The value of i is: 6
The value of i is: 5
The value of i is: 4
The value of i is: 3
The value of i is: 2

在上面的程序中:

int i = 1是初始化表達式;i > 1是否繼續循環的條件(布爾表達式,滿足條件就繼續循環,不滿足條件就跳出循環);i-是遞減操作

死循環

循環條件的布爾表達式和遞增/遞減運算之間的互相協調非常重要,現在讓我們來看看下面這個例子:
class ForLoopExample2 {
public static void main(String args[]){
for(int i=1; i>=1; i++){
System.out.println("The value of i is: "+i);
}
}
}

這是一個死循環,我們初始化裏給變量i賦值爲1,循環條件是i>=1,因爲i的值是1,後面的遞增運算i++只能讓變量i的值越來越大,所以這個循環條件i>=1永遠都不會返回false。這最終會導致死循環條件。因此可見,增量/遞減操作的結果必須是能確保在某個時間點上,循環條件的返回值爲false,這樣程序纔可以跳出這個for循環。

下面是另一個for循環的死循環的例子:
// infinite loop
for ( ; ; ) {
// statement(s)
}

用for循環遍歷數組(array)的例子:
在這裏,我們使用for循環遍歷和顯示數組裏面的每個元素。
class ForLoopExample3 {
public static void main(String args[]){
int arr[]={2,11,45,9};
//i starts with 0 as array index starts with 0 too
for(int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
}

輸出:
2
11
45
9

增強型for循環

當您想要遍歷數組/集合裏面的每個元素時,增強型的for循環很有用,非常易於編寫和理解。
讓我們採用上面編寫的相同示例,並使用增強型for循環來重寫它。

class ForLoopExample3 {
public static void main(String args[]){
int arr[]={2,11,45,9};
for (int num : arr) {
System.out.println(num);
}
}
}

輸出:
2
11
45
9

注:在上面的示例中,我在增強型的for循環中將變量num的數據類型聲明爲int(整數型)。我們將根據數組的數據類型來決定如何聲明這個變量的數據類型。例如,String類型的增強型for循環需要將這個變量聲明爲String,如下所示:

String arr[]={"hi","hello","bye"};
for (String str : arr) {
System.out.println(str);
}

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