slug
Vocabulary4apcsa
type
Post
status
Published
category
AP CSA
date
Mar 12, 2026
summary
tags
notes
password
icon
下面给出 AP Computer Science A 300 术语完整版本(英文 + 中文解释)
12 个主题 × 每组 25 个 = 300 个 排列,适合直接做课堂词汇表或背诵材料。

1 Programming Fundamentals(编程基础)

  1. program — 程序:由计算机执行的一系列指令
  1. programming — 编程:设计并编写程序的过程
  1. compiler — 编译器:将源代码转换为可执行程序
  1. source code — 源代码:程序员编写的代码
  1. syntax — 语法:编程语言的书写规则
  1. semantics — 语义:程序语句的含义
  1. algorithm — 算法:解决问题的步骤集合
  1. pseudocode — 伪代码:接近自然语言的算法描述
  1. variable — 变量:存储数据的内存位置
  1. constant — 常量:值不会改变的数据
  1. literal — 字面量:直接写出的值
  1. identifier — 标识符:变量或方法的名称
  1. declaration — 声明:定义变量及其类型
  1. initialization — 初始化:变量第一次赋值
  1. assignment — 赋值:改变变量值的操作
  1. expression — 表达式:计算产生一个值
  1. operator — 运算符:执行计算的符号
  1. operand — 操作数:参与运算的数据
  1. statement — 语句:一条完整程序指令
  1. block — 代码块:由 {} 包围的语句集合
  1. scope — 作用域:变量可访问的范围
  1. runtime — 运行时:程序执行阶段
  1. compile-time error — 编译错误
  1. runtime error — 运行错误
  1. logic error — 逻辑错误

2 Primitive Data Types(基本数据类型)

  1. primitive type — 基本数据类型
  1. int — 整数类型
  1. double — 双精度浮点数
  1. boolean — 布尔类型
  1. true — 布尔真值
  1. false — 布尔假值
  1. integer division — 整数除法
  1. floating-point — 浮点数
  1. casting — 类型转换
  1. type conversion — 数据类型转换
  1. truncation — 小数截断
  1. overflow — 溢出
  1. range — 数据范围
  1. precision — 精度
  1. arithmetic operator — 算术运算符
  1. modulus operator (%) — 取余运算符
  1. increment operator (++) — 自增运算符
  1. decrement operator (--) — 自减运算符
  1. compound assignment — 复合赋值
  1. operator precedence — 运算符优先级
  1. unary operator — 单目运算符
  1. binary operator — 双目运算符
  1. numeric expression — 数值表达式
  1. evaluation order — 计算顺序
  1. numeric literal — 数值字面量

3 Java Output and Input(输入输出)

  1. System.out.print — 输出但不换行
  1. System.out.println — 输出并换行
  1. output — 输出
  1. console — 控制台
  1. escape sequence — 转义字符
  1. string literal — 字符串字面量
  1. concatenation — 字符串连接
  1. formatting — 输出格式化
  1. input — 输入
  1. Scanner — Java 输入类
  1. nextInt() — 读取整数
  1. nextDouble() — 读取浮点数
  1. nextLine() — 读取整行
  1. user input — 用户输入
  1. prompt — 提示信息
  1. interactive program — 交互程序
  1. whitespace — 空白字符
  1. newline — 换行符
  1. text output — 文本输出
  1. input validation — 输入验证
  1. parsing — 数据解析
  1. read data — 读取数据
  1. standard input — 标准输入
  1. standard output — 标准输出
  1. console interaction — 控制台交互

4 Math 和 String 类

  1. Math class — Java 数学工具类
  1. Math.random() — 生成随机数
  1. Math.abs() — 绝对值
  1. Math.sqrt() — 平方根
  1. Math.pow() — 幂运算
  1. Math.max() — 最大值
  1. Math.min() — 最小值
  1. String class — 字符串类
  1. String object — 字符串对象
  1. length() — 字符串长度
  1. substring() — 子字符串
  1. indexOf() — 查找字符位置
  1. equals() — 比较字符串内容
  1. compareTo() — 字典序比较
  1. charAt() — 获取字符
  1. contains() — 是否包含
  1. toLowerCase() — 转小写
  1. toUpperCase() — 转大写
  1. trim() — 去除首尾空格
  1. String immutability — 字符串不可变性
  1. String manipulation — 字符串操作
  1. String traversal — 字符串遍历
  1. character — 字符
  1. lexicographic order — 字典序
  1. string comparison — 字符串比较

5 Control Structures(条件控制)

  1. control structure — 控制结构
  1. sequential execution — 顺序执行
  1. selection — 选择结构
  1. iteration — 循环结构
  1. if statement — if 语句
  1. if-else statement — if-else 语句
  1. else-if ladder — 多条件判断
  1. nested if — 嵌套 if
  1. conditional expression — 条件表达式
  1. boolean expression — 布尔表达式
  1. relational operator — 关系运算符
  1. logical operator — 逻辑运算符
  1. AND operator — 与运算符
  1. OR operator — 或运算符
  1. NOT operator — 非运算符
  1. short-circuit evaluation — 短路求值
  1. branching — 分支结构
  1. decision making — 决策结构
  1. condition — 条件
  1. predicate — 条件判断表达式
  1. truth table — 真值表
  1. boolean logic — 布尔逻辑
  1. comparison — 比较
  1. condition evaluation — 条件求值
  1. program flow — 程序流程

6 Loops(循环)

  1. loop — 循环
  1. while loop — while 循环
  1. for loop — for 循环
  1. loop control — 循环控制
  1. loop condition — 循环条件
  1. loop body — 循环体
  1. loop counter — 循环计数器
  1. iteration variable — 迭代变量
  1. infinite loop — 无限循环
  1. sentinel loop — 哨兵循环
  1. accumulator pattern — 累加模式
  1. counter pattern — 计数模式
  1. nested loop — 嵌套循环
  1. loop traversal — 循环遍历
  1. iteration process — 迭代过程
  1. loop invariant — 循环不变量
  1. update statement — 更新语句
  1. termination condition — 终止条件
  1. pre-test loop — 前测试循环
  1. iteration algorithm — 迭代算法
  1. loop efficiency — 循环效率
  1. loop trace — 循环跟踪
  1. loop debugging — 循环调试
  1. simulation — 程序模拟
  1. iteration step — 迭代步骤

7 Methods(方法)

  1. method — 方法
  1. method call — 方法调用
  1. parameter — 参数
  1. argument — 实际参数
  1. return type — 返回类型
  1. return statement — 返回语句
  1. void method — 无返回值方法
  1. accessor method — 访问器方法
  1. mutator method — 修改器方法
  1. helper method — 辅助方法
  1. static method — 静态方法
  1. instance method — 实例方法
  1. method signature — 方法签名
  1. method header — 方法头
  1. method body — 方法体
  1. parameter passing — 参数传递
  1. call stack — 调用栈
  1. method overloading — 方法重载
  1. reusable code — 可复用代码
  1. abstraction — 抽象
  1. procedural abstraction — 过程抽象
  1. decomposition — 分解问题
  1. API — 应用程序接口
  1. library — 程序库
  1. documentation — 文档

8 Classes and Objects(类与对象)

  1. class — 类
  1. object — 对象
  1. instance — 实例
  1. attribute — 属性
  1. field — 字段
  1. instance variable — 实例变量
  1. class variable — 类变量
  1. constructor — 构造方法
  1. default constructor — 默认构造方法
  1. object creation — 创建对象
  1. instantiation — 实例化
  1. new keyword — new 关键字
  1. this keyword — this 关键字
  1. encapsulation — 封装
  1. access modifier — 访问修饰符
  1. private — 私有访问
  1. public — 公共访问
  1. getter — 获取方法
  1. setter — 设置方法
  1. class design — 类设计
  1. object state — 对象状态
  1. object behavior — 对象行为
  1. UML diagram — UML 类图
  1. reference variable — 引用变量
  1. object reference — 对象引用

9 Arrays(数组)

  1. array — 数组
  1. array declaration — 数组声明
  1. array initialization — 数组初始化
  1. array length — 数组长度
  1. array index — 数组索引
  1. index bounds — 索引范围
  1. ArrayIndexOutOfBoundsException — 数组越界异常
  1. array traversal — 数组遍历
  1. sequential search — 顺序查找
  1. array algorithm — 数组算法
  1. array element — 数组元素
  1. array reference — 数组引用
  1. array processing — 数组处理
  1. array copying — 数组复制
  1. array update — 数组更新
  1. array accumulation — 数组累加
  1. array counting — 数组计数
  1. array minimum — 最小值查找
  1. array maximum — 最大值查找
  1. array average — 平均值计算
  1. array iteration — 数组迭代
  1. array mutation — 修改数组
  1. array parameter — 数组参数
  1. array return — 返回数组
  1. array algorithm design — 数组算法设计

10 ArrayList

  1. ArrayList — 动态数组
  1. dynamic array — 可动态扩展数组
  1. add() — 添加元素
  1. remove() — 删除元素
  1. get() — 获取元素
  1. set() — 修改元素
  1. size() — 获取列表大小
  1. ArrayList traversal — 列表遍历
  1. ArrayList algorithm — 列表算法
  1. generics — 泛型
  1. ArrayList — 整数列表
  1. ArrayList — 字符串列表
  1. dynamic resizing — 动态扩容
  1. element insertion — 元素插入
  1. element deletion — 元素删除
  1. list structure — 列表结构
  1. list indexing — 列表索引
  1. collection — 集合结构
  1. wrapper class — 包装类
  1. autoboxing — 自动装箱
  1. unboxing — 自动拆箱
  1. Integer class — 整数对象类
  1. Double class — 双精度对象类
  1. Boolean class — 布尔对象类
  1. object collection — 对象集合

11 2D Arrays(二维数组)

  1. 2D array — 二维数组
  1. matrix — 矩阵
  1. row — 行
  1. column — 列
  1. element position — 元素位置
  1. array[row][column] — 二维数组访问
  1. 2D traversal — 二维遍历
  1. nested loops — 嵌套循环
  1. row-major order — 行优先遍历
  1. column traversal — 列遍历
  1. grid structure — 网格结构
  1. table representation — 表格表示
  1. matrix algorithm — 矩阵算法
  1. 2D search — 二维查找
  1. 2D update — 二维更新
  1. board representation — 棋盘表示
  1. adjacency grid — 邻接网格
  1. coordinate system — 坐标系统
  1. matrix processing — 矩阵处理
  1. data table — 数据表
  1. rectangular array — 矩形数组
  1. irregular array — 不规则数组
  1. 2D iteration — 二维迭代
  1. 2D algorithm design — 二维算法设计
  1. multi-dimensional array — 多维数组

12 Algorithms & Recursion(算法与递归)

  1. algorithm analysis — 算法分析
  1. efficiency — 效率
  1. runtime — 运行时间
  1. time complexity — 时间复杂度
  1. linear search — 线性搜索
  1. binary search — 二分搜索
  1. selection sort — 选择排序
  1. insertion sort — 插入排序
  1. sorting algorithm — 排序算法
  1. searching algorithm — 搜索算法
  1. divide and conquer — 分治算法
  1. recursion — 递归
  1. recursive method — 递归方法
  1. base case — 基础情况
  1. recursive case — 递归情况
  1. stack frame — 栈帧
  1. recursive tracing — 递归追踪
  1. recursive search — 递归搜索
  1. recursive sort — 递归排序
  1. call stack — 调用栈
  1. algorithm design — 算法设计
  1. algorithm correctness — 算法正确性
  1. algorithm optimization — 算法优化
  1. debugging — 调试程序
  1. testing — 程序测试
call stack — 调用栈
call stack(调用栈) 是程序在运行时用来管理“方法调用顺序”的一种机制。
你可以把它理解成一摞盘子:
  • 新调用一个方法,就把一个新盘子放到最上面
  • 方法执行完,就把最上面的盘子拿走
  • 所以它遵循 后进先出(LIFO, Last In First Out)

1. 为什么需要调用栈

当一个程序里有很多方法互相调用时,计算机必须记住:
  • 现在正在执行哪个方法
  • 这个方法是谁调用的
  • 方法里的局部变量是什么
  • 方法执行完以后要回到哪里继续执行
这些信息就会被放进 call stack 里。

2. 栈中的每一层叫什么

调用栈中的每一层通常叫:
  • stack frame
  • 中文常说:栈帧
每调用一次方法,就会创建一个新的栈帧。
一个栈帧里通常保存:
  • 方法名
  • 参数(parameters)
  • 局部变量(local variables)
  • 返回位置(return address)
  • 有时还包括临时计算信息

3. 最基本的例子

看这个 Java 代码:
执行过程:
  1. 程序先进入 main
  1. main() 被放入调用栈
  1. main() 调用 greet()
  1. greet() 再被压入调用栈顶部
  1. greet() 执行完,弹出栈
  1. 回到 main() 继续执行
  1. main() 执行完,再弹出栈

4. 用“栈”图来表示

开始运行时:
main() 调用 greet() 时:
greet() 执行结束后:
最后 main() 结束,栈空了。

5. 再看一个带参数和返回值的例子

执行时:

第一步:进入 main

调用栈:

第二步:main() 调用 square(4)

调用栈:
这里 square 的栈帧中会记录:
  • 参数 n = 4

第三步:square() 返回 16

square 弹出栈,返回到 main
调用栈又变成:
这时 main 里的 result = 16

6. 多层方法调用

执行到 work() 时,调用栈是:
执行顺序不是随便跳的,而是:
  • 先进入 main
  • 再进入 start
  • 再进入 work
返回时正好反过来:
  • work 先结束
  • 回到 start
  • start 结束
  • 回到 main

7. 局部变量为什么不会互相干扰

看这个例子:
这里有两个 x
  • main() 里的 x = 10
  • test() 里的 x = 5
它们不会冲突,因为它们在 不同的栈帧 里。
执行 test() 时,调用栈像这样:
所以 test() 里打印 5,回到 main() 后还是打印 10

8. call stack 和 recursion(递归)的关系特别重要

递归时,一个方法会不断调用自己。
每调用一次,都会创建一个新的栈帧。
看例子:
调用过程:

main() 调用 countdown(3)

countdown(3) 调用 countdown(2)

countdown(2) 调用 countdown(1)

countdown(1) 调用 countdown(0)

当到达 n == 0 时,不再继续调用,开始一层一层返回。
这就是为什么递归本质上非常依赖调用栈。

9. Stack Overflow 是怎么来的

如果方法调用太深,调用栈会越来越大,最后可能装不下,就会报错:
  • StackOverflowError
例如:
这里 forever() 一直调用自己,没有 base case(终止条件),所以栈会不断增长:
最后就栈溢出了。

10. AP CSA 里你需要掌握到什么程度

在 AP CSA 中,关于 call stack,你不需要像大学 CS 那样掌握底层内存细节,但你应该会:

会 1:理解方法调用顺序

谁调用谁,谁先执行完,谁后返回。

会 2:理解局部变量属于各自的方法

不同方法中的同名局部变量互不影响。

会 3:理解递归为什么能工作

因为每次递归调用都有自己独立的栈帧和参数值。

会 4:能 trace 代码

尤其是这种题:
你需要知道每一次调用都会进栈,最后再一层层返回。

11. 手动 trace 一个递归题

求:

第一步

mystery(4)
需要算:
栈:

第二步

mystery(3)
需要算:
栈:

第三步

mystery(2)
需要算:
栈:

第四步

mystery(1) 返回 1
栈开始回退。

回退过程

mystery(2) = 2 + 1 = 3
mystery(3) = 3 + 3 = 6
mystery(4) = 4 + 6 = 10
答案是:
这就是调用栈在背后做的事。

12. 一个很好记的总结

你可以直接背这句:
call stack 是程序运行时用来管理方法调用的一种后进先出结构;每调用一个方法,就压入一个新的栈帧,方法结束后再弹出。

13. 再给你一个最简考试表达

如果你做 AP CSA 简答或讲解题,可以这样说:
A call stack keeps track of active method calls. Each method call adds a new stack frame, and when a method finishes, its frame is removed.
中文:
调用栈用于记录当前正在执行的方法调用。每次调用方法都会加入一个新的栈帧,方法结束时该栈帧被移除。

14. 一个生活类比

想象你在处理一连串任务:
  • main 说:“先去做 A”
  • A 说:“先去做 B”
  • B 做完了,回到 A
  • A 做完了,回到 main
这就像把任务一层层压上去,再按相反顺序回来。
这就是 call stack

如果你愿意,我下一条可以继续给你做:
“call stack、stack frame、recursion 三者的关系图解版”
我可以用 AP CSA 最适合学生理解的方式 画成纯文本图。

IGCSE数学高频术语AQA A-LEVEL MATH
Loading...
现代数学启蒙
现代数学启蒙
推广现代数学🍚
公告
🎉现代数学启蒙(MME:Modern Mathematics Enlightenment)欢迎您🎉
-- 感谢您的支持 ---