华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> java教程 >> 文章內(nèi)容

Javafor循環(huán)嵌套

來源:中華考試網(wǎng)  [2020年10月21日]  【

  和其他編程語言一樣,Java 允許循環(huán)嵌套。如果把一個循環(huán)放在另一個循環(huán)體內(nèi),那么就可以形成嵌套循環(huán)。

  嵌套循環(huán)既可以是 for循環(huán)嵌套 while 循環(huán),也可以是 while 循環(huán)嵌套 do-while 循環(huán) …… 即各種類型的循環(huán)都可以作為外層循環(huán),也可以作為內(nèi)層循環(huán)。

  當(dāng)程序遇到嵌套循環(huán)時,如果外層循環(huán)的循環(huán)條件允許,則開始執(zhí)行外層循環(huán)的循環(huán)體,而內(nèi)層循環(huán)將被外層循環(huán)的循環(huán)體來執(zhí)行——只是內(nèi)層循環(huán)需要反復(fù)執(zhí)行自己的循環(huán)體而已。

  當(dāng)內(nèi)層循環(huán)執(zhí)行結(jié)束,且外層循環(huán)的循環(huán)體執(zhí)行結(jié)束時,則再次計算外層循環(huán)的循環(huán)條件,決定是否再次開始執(zhí)行外層循環(huán)的循環(huán)體。

  根據(jù)上面分析,假設(shè)外層循環(huán)的循環(huán)次數(shù)為 n 次,內(nèi)層循環(huán)的循環(huán)次數(shù)為 m 次,那么內(nèi)層循環(huán)的循環(huán)體實際上需要執(zhí)行 n×m 次。嵌套循環(huán)的執(zhí)行流程如圖 1 所示。

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

  圖 1 嵌套循環(huán)的執(zhí)行流程

  從圖 1 來看,嵌套循環(huán)就是把內(nèi)層循環(huán)當(dāng)成外層循環(huán)的循環(huán)體。當(dāng)只有內(nèi)層循環(huán)的循環(huán)條件為 false 時,才會完全跳出內(nèi)層循環(huán),才可以結(jié)束外層循環(huán)的當(dāng)次循環(huán),開始下一次循環(huán)。下面是一個使用嵌套循環(huán)輸出九九乘法表實例。

  public static void main(String[] args) {

  System.out.println("乘法口訣表:");

  // 外層循環(huán)

  for (int i = 1; i <= 9; i++) {

  // 內(nèi)層循環(huán)

  for (int j = 1; j <= i; j++) {

  System.out.print(j + "*" + i + "=" + j * i + "\t");

  }

  System.out.println();

  }

  }

  運行上面程序,看到如下運行結(jié)果:

  乘法口訣表:

  1*1=1

  1*2=2 2*2=4

  1*3=3 2*3=6 3*3=9

  1*4=4 2*4=8 3*4=12 4*4=16

  1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

  1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

  1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

  1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

  1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

  從上面運行結(jié)果可以看出,進(jìn)入嵌套循環(huán)時,循環(huán)變量 i 開始為 1,這時即進(jìn)入了外層循環(huán)。進(jìn)入外層循環(huán)后,內(nèi)層循環(huán)把 i 當(dāng)成一個普通變量,其值為 0。在外層循環(huán)的當(dāng)次循環(huán)里,內(nèi)層循環(huán)就是一 個普通循環(huán)。

  實際上,嵌套循環(huán)不僅可以是兩層嵌套,而且可以是三層嵌套、四層嵌套 …… 不論循環(huán)如何嵌套, 總可以把內(nèi)層循環(huán)當(dāng)成外層循環(huán)的循環(huán)體來對待,區(qū)別只是這個循環(huán)體里包含了需要反復(fù)執(zhí)行的代碼。

  填寫下面表單即可預(yù)約申請免費試聽java課程!害怕學(xué)不會?助教全程陪讀,隨時解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國推薦就業(yè)!

預(yù)約申請免費聽java課程

  • 地區(qū):
  • 姓名:
  • 手機(jī):
責(zé)編:fushihao
  • 會計考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
建始县| 富裕县| 阳春市| 临武县| 双流县| 乌拉特中旗| 桐庐县| 巴楚县| 和田县| 阜平县| 融水| 凌海市| 思茅市| 嵩明县| 孟津县| 沧源| 灵川县| 满城县| 涿州市| 康平县| 房产| 分宜县| 巩义市| 珠海市| 进贤县| 建昌县| 和田县| 柘荣县| 满城县| 南漳县| 镇康县| 宣化县| 双柏县| 阿克苏市| 泗洪县| 益阳市| 勃利县| 天台县| 和政县| 房山区| 水富县|