AP Computer Science A

选择与迭代

编写 Java 条件与循环

追踪短路条件、循环边界和重复计算。

示例使用 Java。可在这里阅读和追踪,在 Java 环境中运行;工作室执行的是伪代码。

分清条件判断与更新

for 循环先初始化计数器,每次迭代前检查条件,循环体后执行更新。i < 4 时,进入循环体的值是 0、1、2、3。把 < 改为 <= 会增加一次迭代,并可能导致数组越界。

总和累加数值,计数器记录符合条件的数值个数,两者都应在循环前初始化。示例只累加偶数 i,结果是 6。

public class Demo {
    public static void main(String[] args) {
        int total = 0;
        for (int i = 1; i <= 4; i++) {
            if (i % 2 == 0) {
                total += i;
            }
        }
        System.out.println(total);
    }
}

利用短路求值

对于 a && b,只有 a 为真时 Java 才计算 b;对于 a || b,只有 a 为假时才计算 b。index < values.length && values[index] != 0 会先检查边界,再访问数组。

追踪嵌套循环时,分别计算每个外层值对应的内层执行次数。n 行各扫描 n 列,循环体执行 n 的平方次;n 翻倍,工作量约为四倍。

自我检测

为什么 && 条件中应先检查边界,再访问数组?查看答案

边界条件为假时,短路求值会跳过数组访问。反过来写可能先访问无效索引。

编写这些课程时使用的参考资料

我们在编写本课程时参考了这些官方文件,用以确定考纲结构和课程要求。

College Board · 2025 年秋季起适用