该代码不会分配3*count回count,它只是打印该值。
当循环运行时,count 取值 {1, 3, 5, 7, 9}。在每次迭代中, 的值3*count都会打印到标准输出,但count不会被修改。
一次迈出这一步:
count初始化为 1。
3*count + " "打印到标准输出。(你得到 3,count 仍然有 1 的值)
count增加 2,设置count为 3。
3*count + " "打印到标准输出。(count现在的值为 3,所以你得到 9,同样count没有修改)
count增加 2,设置count为 5。
- 输出 15,
count仍未修改。
count再次增加 2,设置count为 7。
- 输出 21。
- 增加到
count9。
- 输出 27。
- 增加到
count11。
- 测试
count < 10失败,因此退出循环。
将此行为与以下代码段进行对比,它可能符合您的预期:
int count;
for(count=1;count <10; count = count+2)
{
count = 3*count;
System.out.print((count) + " " );
}
但是这个循环也只会对count{1, 5} 中的值执行,因为 17 大于 10。