首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java for 循環實戰精講:嵌套、累加、計數器與圖形打印完全指南

     編輯:Java 相關知識

for 循環三大核心模式

1. 語句嵌套與條件控制

打印 1-10 間的偶數:


for (int x = 1; x <= 10; x++) {
    if (x % 2 == 1) continue; // 跳過奇數
    System.out.println("x=" + x);
}

關鍵點:continue 跳過本次循環,break 退出整個循環。

2. 累加求和模式

計算 1+2+...+10:


// while 版本
int sum = 0, x = 1;
while (x <= 10) {
    sum += x;
    x++;
}

// for 版本(推薦)
int sum = 0;
for (int x = 1; x <= 10; x++) {
    sum += x;
}
System.out.println("sum=" + sum); // 55

核心思想:變量記錄狀態,循環驅動狀態變更。

3. 計數器模式

統計 1-100 中 7 的倍數個數:


int count = 0;
for (int x = 1; x <= 100; x++) {
    if (x % 7 == 0) count++;
}
System.out.println("count=" + count); // 14

應用場景:符合條件的元素計數、分頁總數統計等。

循環嵌套:圖形打印完全攻略

核心原則:外層控制行,內層控制列


// 外層:行數 (3行)
// 內層:每行列數 (4列)
for (int x = 0; x < 3; x++) {
    for (int y = 0; y < 4; y++) {
        System.out.print("*");
    }
    System.out.println(); // 換行
}

輸出:

****
****
****

直角三角形(尖朝下)


for (int x = 0; x < 5; x++) {      // 5行
    for (int y = x; y < 5; y++) {  // 列數遞減
        System.out.print("*");
    }
    System.out.println();
}

輸出:

*****
****
***
**
*

規律:內層初始值跟隨外層變量 y = x。

正三角形 / 楊輝三角雛形 / 九九乘法表


// 正三角形
for (int x = 0; x < 5; x++) {
    for (int y = 0; y <= x; y++) { // 列數遞增
        System.out.print("*");
    }
    System.out.println();
}

// 數字三角形
for (int x = 1; x <= 5; x++) {
    for (int y = 1; y <= x; y++) {
        System.out.print(y);
    }
    System.out.println();
}

// 九九乘法表
for (int x = 1; x <= 9; x++) {
    for (int y = 1; y <= x; y++) {
        System.out.print(y + "*" + x + "=" + (y*x) + "\t");
    }
    System.out.println();
}

菱形/金字塔(進階嵌套)


// 上半部
for (int x = 0; x < 5; x++) {
    // 打印空格
    for (int y = x + 1; y < 5; y++) System.out.print(" ");
    // 打印星號
    for (int z = 0; z <= x; z++) System.out.print("* ");
    System.out.println();
}
// 下半部對稱邏輯類似...

輸出:

    *
   * *
  * * *
 * * * *
* * * * *

實戰練習:繩索折半問題

3000米繩索,每天減半,幾天小於5米?


int day = 0;
for (int x = 3000; x >= 5; x /= 2) {
    day++;
}
System.out.println("day=" + day); // 10天

解題模板:

  1. 明確變量:初始值、終止條件、變化規律
  2. 選擇循環類型:for 適合已知次數/規律變化
  3. 識別循環體:哪些語句重複執行
  4. 邊界檢查:含邊界值測試

避坑指南與最佳實踐

常見錯誤正確做法說明
循環變量外洩for 內部聲明 for(int x=...)限制作用域,避免污染外部
死循環確保終止條件最終滿足檢查變量更新邏輯
off-by-one 錯誤邊界測試:0, 1, max, max+1<= vs < 需仔細斟酌
嵌套層級過深提取方法、Stream API 替代>3層嵌套考慮重構
性能敏感場景用增強 for傳統 for 可控索引,性能略優數組/集合遍歷增強 for 更簡潔

進階:Java 8+ 函數式替代方案


// 累加求和
int sum = IntStream.rangeClosed(1, 10).sum();

// 計數器
long count = IntStream.rangeClosed(1, 100).filter(x -> x % 7 == 0).count();

// 九九乘法表
IntStream.rangeClosed(1, 9).forEach(x -> 
    IntStream.rangeClosed(1, x).forEach(y -> 
        System.out.print(y + "*" + x + "=" + (y*x) + "\t")
    )
);

循環是程式設計的心跳。掌握嵌套邏輯、狀態管理與邊界控制,是從「寫出代碼」到「寫出正確、高效、可維護代碼」的關鍵躍遷。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved