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

作者:CHAITANYA SINGH

來源:Java的for循環(huán)

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

for循環(huán)的語法:

for(初始化initialization;?循環(huán)條件condition;?遞增/遞減increment/decrement)

{

???statement(s);

}

for循環(huán)的執(zhí)行流程

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

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

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

第三步:每次執(zhí)行for循環(huán)體后,程序回頭執(zhí)行for循環(huán)的遞增/遞減部分,更新循環(huán)計數器。

第四步:第三步后,程序跳轉到第二步,重新評估循環(huán)條件,決定是繼續(xù)執(zhí)行在for循環(huán)內部的語句還是跳出for循環(huán)執(zhí)行后面的語句。

簡單for循環(huán)示例

classForLoopExample?{

????publicstaticvoidmain(String?args[]){

?????????for(inti=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是否繼續(xù)循環(huán)的條件(布爾表達式,滿足條件就繼續(xù)循環(huán),不滿足條件就跳出循環(huán));i-是遞減操作

死循環(huán)

循環(huán)條件的布爾表達式和遞增/遞減運算之間的互相協調非常重要,現在讓我們來看看下面這個例子:

classForLoopExample2?{

????publicstaticvoidmain(String?args[]){

?????????for(inti=1;?i>=1;?i++){

??????????????System.out.println("The?value?of?i?is:?"+i);

?????????}

????}

}

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

下面是另一個for循環(huán)的死循環(huán)的例子:

//?infinite?loop

for(?;?;?)?{

????//?statement(s)

}

用for循環(huán)遍歷數組(array)的例子:

在這里,我們使用for循環(huán)遍歷和顯示數組里面的每個元素。

classForLoopExample3?{

????publicstaticvoidmain(String?args[]){

?????????intarr[]={2,11,45,9};

?????????//i?starts?with?0?as?array?index?starts?with?0?too

?????????for(inti=0;?i<arr.length;?i++){

??????????????System.out.println(arr[i]);

?????????}

????}

}

輸出:

2

11

45

9

增強型for循環(huán)

當您想要遍歷數組/集合里面的每個元素時,增強型的for循環(huán)很有用,非常易于編寫和理解。

讓我們采用上面編寫的相同示例,并使用增強型for循環(huán)來重寫它。

classForLoopExample3?{

???publicstaticvoidmain(String?args[]){

??????intarr[]={2,11,45,9};

??????for(intnum?:?arr)?{

?????????System.out.println(num);

??????}

???}

}

輸出:

2

11

45

9

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

String?arr[]={"hi","hello","bye"};

for(String?str?:?arr)?{

?????????System.out.println(str);

}

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔...
    開心的鑼鼓閱讀 3,404評論 0 9
  • 第四天 數組【悟空教程】 第04天 Java基礎 第1章數組 1.1數組概念 軟件的基本功能是處理數據,而在處理數...
    Java幫幫閱讀 1,685評論 0 9
  • Java經典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子...
    趙宇_阿特奇閱讀 2,086評論 0 2
  • DAY 05 1、 public classArrayDemo { public static void mai...
    周書達閱讀 834評論 0 0
  • 終于出院了,這次是三姨夫開車把我送回家的,打我生病以來的第一個月,三姨幾乎每天都會給我送飯,而且都是特別補...
    山東小百科閱讀 1,436評論 0 1

友情鏈接更多精彩內容