Java中基本数据类型循环累加需先定义初始变量并在循环中更新:for循环适用于已知次数(如1到100求和),while/do-while用于条件控制,增强for适用于数组或集合遍历。

Java 中用基本数据类型做循环累加,核心是定义初始变量、在循环中持续更新它。下面分几种常见场景说明写法和注意事项。
for 循环累加整数(最常用)
适合已知循环次数的情况,比如计算 1 到 100 的和:
int sum = 0; // 声明并初始化累加变量
for (int i = 1; i <= 100; i++) {
sum += i; // 等价于 sum = sum + i
}
System.out.println(sum); // 输出 5050
注意:sum 必须在循环外声明,否则每次循环都会重新创建,无法累积;类型根据数据范围选,小范围用 int,大范围(如百万级累加)考虑 long 防止溢出。
while 循环累加带条件控制
适合不确定次数、依赖动态条件的场景,比如累加直到和超过 1000:
立即学习“Java免费学习笔记(深入)”;
int sum = 0;
int i = 1;
while (sum <= 1000) {
sum += i;
i++;
}
System.out.println("累加到 " + i + " 时和为 " + sum);
关键点:循环内必须更新参与判断的变量(如 i)和累加变量(sum),否则容易死循环。
增强 for 循环累加数组或集合元素
适用于已有数据容器,逐个取出累加:
int[] numbers = {2, 4, 6, 8};
int total = 0;
for (int num : numbers) {
total += num;
}
System.out.println(total); // 输出 20
注意:增强 for 不适用索引操作,只读取值;若需下标或修改原数组,仍用传统 for。
累加时的数据类型与溢出提醒
基本类型有范围限制,累加超限时会“绕回”,结果错误但不报错:
- byte(-128 ~ 127)、short(-32768 ~ 32767)极易溢出,一般不用来累加
- int 最大值约 21 亿,1 到 10 万的和安全,但 1 到 100 万的和就超了(约 5000 亿)
- 保险做法:无脑用 long,或用 BigInteger 处理超大数


















