计数器统计满足条件的次数,累加器累积数值总和;二者均需在循环外声明并初始化为0,配合使用可求平均值等,注意整数除法与零除异常。

Java循环中,计数器和累加器是两个最基础也最关键的逻辑工具。它们不是语法结构,而是编程思维的体现——一个管“次数”,一个管“总量”。用对了,循环就从机械重复变成有目的的计算。
计数器:统计满足条件的数据个数
计数器本质是一个整型变量,初始为0,每次符合条件就+1。它不关心数值本身,只记录“发生了多少次”。
- 典型场景:统计1~100中7的倍数有几个、输入若干数字后统计正数个数、遍历字符串统计字母数量
- 关键点:变量必须定义在循环外,否则每次循环都会重置为0
- 写法示例:int count = 0; 然后在if块内写 count++;
累加器:持续累积数值结果
累加器也是整型(或double等)变量,初始为0,每次把新值加到自身上。它关注的是“总和是多少”,常用于求和、平均值、乘积等计算。
- 典型场景:1+2+…+100的和、100~300中能被3整除的数之和、数组所有元素相加
- 关键点:累加语句要写在循环体内,且不能漏掉赋值操作(如sum += i;)
- 常见错误:忘记初始化为0,或把累加写在循环外
二者配合:解决更实际的问题
很多题目需要同时用到计数器和累加器。比如求1~100中所有偶数的平均值:既要累加所有偶数(sum),也要统计偶数有几个(count),最后用sum / count得出结果。
- 注意整数除法问题:如果sum和count都是int,结果会自动截断小数,建议至少一个转为double
- 边界处理:当count为0时(比如范围内没有满足条件的数据),直接除会出错,需提前判断
- 代码结构清晰:建议先写循环遍历,再在if内分别更新count和sum,避免逻辑混杂
实战中容易忽略的细节
看似简单,但初学者常在这里卡住:
- 变量作用域:计数器/累加器一定要声明在循环外面,否则每次迭代都新建变量
- 条件判断位置:取余运算i % 7 == 0这类表达式,要放在if里,别误写进for的条件部分
- 循环类型选择:已知次数优先用for;条件不确定(如用户输入决定是否继续)用while更自然
- 调试技巧:可以在循环内加System.out.println("i="+i+", sum="+sum+", count="+count);快速验证逻辑
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











