第一部分:for 循环基本语法

掌握最常用循环结构的三大要素:初始化、条件、更新

学习目标

能独立编写并调试标准 for 循环,理解执行流程

1

经典语法模板

for (初始化; 条件; 更新) {
	// 循环体
}
2

打印 1~5

for (int i = 1; i <= 5; i++) {
System.out.println(i);
}

第二部分:for 循环常见变体

省略、多变量、倒序、步长掌握

1

倒序打印

for (int i = 10; i >= 1; i--) {
System.out.print(i + " ");
}
// 输出: 10 9 8 7 6 5 4 3 2 1
2

步长为2的偶数序列

for (int i = 2; i <= 10; i += 2) {
System.out.print(i + " ");
}
// 输出: 2 4 6 8 10
3

多变量同时递增

for (int i = 1, j = 10; i <= 5; i++, j--) {
System.out.println(i + " - " + j);
}

第三部分:嵌套 for 循环

实现二维图形与矩阵操作

1

打印 5×5 星号方阵

for (int row = 1; row <= 5; row++) {
	for (int col = 1; col <= 5; col++) {
System.out.print("* ");
}
System.out.println();
}
2

九九乘法表

for (int i = 1; i <= 9; i++) {
	for (int j = 1; j <= i; j++) {
System.out.print(j + "×" + i + "=" + (i * j) + "\t");
}
System.out.println();
}

第四部分:增强 for 循环(for-each)

遍历数组与集合的优雅方式

1

数组遍历

int[] nums = {3, 7, 2};
for (int n : nums) {
System.out.println(n);
}
2

字符串列表遍历

List<String> list = List.of("Java", "Python", "Go");
for (String lang : list) {
System.out.println(lang.toUpperCase());
}

第五部分:控制语句 break / continue

精准控制循环流程

1

break 提前退出

for (int i = 1; i <= 10; i++) {
	if (i == 5) {
	break; // 找到5就停止
}
System.out.print(i + " ");
}
// 输出: 1 2 3 4
2

continue 跳过本次

for (int i = 1; i <= 10; i++) {
	if (i % 2 == 0) {
	continue; // 跳过偶数
}
System.out.print(i + " ");
}
// 输出: 1 3 5 7 9

第六部分:综合案例:猜数字游戏

用 for 循环实现完整交互流程

1

需求说明

  • 随机生成 1-100 的整数
  • 用户最多猜 7 次
  • 提示“偏大/偏小”
2

完整代码

import java.util.Random;
import java.util.Scanner;

public class GuessNumber {
	public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random rand = new Random();
	int target = rand.nextInt(100) + 1;
	final int MAX_TRY = 7;

	for (int i = 1; i <= MAX_TRY; i++) {
System.out.print("第" + i + "次猜(1-100):");
	int guess = sc.nextInt();

	if (guess == target) {
System.out.println("恭喜你,猜对了!");
	break;
} else if (guess < target) {
System.out.println("偏小");
} else {
System.out.println("偏大");
}
}
System.out.println("答案是:" + target);
}
}

第七部分:常见问题与调试技巧

快速定位并修复 for 循环错误

问题1:死循环

// 错误:忘记更新循环变量
for (int i = 0; i < 10; ) { } // 死循环

// 正确:确保更新
for (int i = 0; i < 10; i++) { }

问题2:边界错误

// 错误:<= 与 < 混用导致越界
for (int i = 0; i <= arr.length; i++) { } // ArrayIndexOutOfBoundsException

调试技巧

  • IDE 断点调试查看循环变量
  • System.out.println() 打印关键变量
  • 单元测试覆盖边界值

知识总结

两分钟回顾本节全部要点,建议收藏备查

核心语法速记

  • for(;;):三要素循环
  • for(:):增强遍历
  • break:提前退出
  • continue:跳过本次

易错点提醒

  • 循环条件确保最终为 false
  • 数组遍历注意 0~length-1
  • 嵌套循环变量命名清晰
  • break/continue 只影响一层

最佳实践

  • 优先增强 for 遍历数组/集合
  • 复杂逻辑提取为方法
  • 循环变量作用域最小化
  • 避免过深嵌套