IT兄弟連 Java語法教程 流程式控制制語句 循環結構語句2
- 2019 年 10 月 5 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/ITXDL123/article/details/96301854
雙重for循環
如果把一個循環放在另一個循環體中,那麼就可以形成嵌套循環,也就是雙重for循環,當然嵌套循環也可以是for循環嵌套while循環,也可以是while循環嵌套while循環……,即各種類型的循環都可以作為外層循環,也可以作為內層循環。
當程式遇到嵌套循環時,如果外層循環的循環條件允許,則開始執行外層循環的循環體,而內層循環將被外層循環的循環體來執行–只是內層循環需要反覆執行自己的循環體而已。當內層循環執行結束,且外層循環的循環體執行結束時,則再次計算外層循環的循環條件,決定是否再次開始執行外層循環的循環體。
根據上面分析,假設外層循環的循環次數為n次,內層循環的循環次數為m次,那麼內層循環的循環體實際上需要執行n x m次。嵌套循環的執行流程如圖4.14所示:
從上圖來看,嵌套循環就是把內層循環當成外層循環的循環體。當只有內層循環的循環條件為false時,才會完全跳出內層循環,才可以結束外層循環的當次循環,開始下一次循環。下面是一個經典的使用雙重for循環在控制台列印三角形的示例程式碼:
public class ForDemo3{
public static void main(String[] args){
for(int i = 0; i <= 5; i++){
for(int j = 0; j < i; j++){
System.out.println("*");
}
System.out.println(" ");
}
}
}

圖14 雙重for循環
編譯並運行這個程式,控制台將顯示如圖15所示的資訊。

圖15 ForDemo3運行結果
當然,在循環中不僅可以嵌套一層循環,理論上來說是可以無限嵌套的,但是如果循環嵌套的過多的話,會影響程式的性能,而且閱讀起來也會非常吃力,所以在開發時應避免使用更深層的嵌套循環。