计数器用于统计满足条件的元素个数,初值为0、符合条件时自增;累加器用于汇总数值总和,初值为0、每次累加当前值;二者可同在循环中使用以提升效率,需注意初始化、类型匹配及除零检查。

在 Java 循环中,计数器(counter)和累加器(accumulator)是两个最基础也最常用的变量模式,分别用于“数次数”和“算总和”,配合循环能高效完成统计类任务。
计数器:统计满足条件的元素个数
计数器通常是一个 int 类型变量,初始值为 0,每次符合条件就加 1。关键在于“只增不减”,且判断逻辑写在循环体内。
- 声明时初始化:例如 int count = 0;
- 放在 if 条件内自增:比如 if (score >= 60) count++;
- 不要在循环外或 else 中修改它,否则会破坏统计意义
累加器:汇总数值型数据的总和
累加器也常是 int 或 double 变量,初值为 0,每次把当前值加到它身上。注意类型要匹配,避免整数除法或精度丢失。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 例如求平均分:先用 double sum = 0.0; 累加所有分数
- 循环中执行 sum += scores[i];(或增强 for 中的 sum += score;)
- 最后用 sum / count 计算均值,前提是 count 不为 0
两者搭配:一次遍历完成多个统计
实际开发中,往往需要同时知道“有多少个”和“总和是多少”,比如统计及格人数、总分、最高分等。这时可在同一个循环里定义多个变量,各司其职。
- int count = 0, max = Integer.MIN_VALUE; 和 double sum = 0.0;
- 每次迭代更新:判断及格则 count++;比较大小更新 max;无条件 sum += x;
- 这样只需遍历一次数组,效率高,代码也清晰
常见陷阱提醒
初学者容易在这些地方出错:
- 计数器或累加器没初始化,导致结果不可预测(Java 局部变量不会默认赋 0)
- 把 count = count + 1 写成 count = 1,变成重置而非累加
- 累加器类型选错:比如用 int 累加小数,造成截断;或用 float 算大额金额引发精度问题
- 空集合时 count 为 0,但直接除以 count 会抛 ArithmeticException,记得加判断
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










