该代码不会分配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。
- 增加到
count
9。
- 输出 27。
- 增加到
count
11。
- 测试
count < 10
失败,因此退出循环。
将此行为与以下代码段进行对比,它可能符合您的预期:
int count;
for(count=1;count <10; count = count+2)
{
count = 3*count;
System.out.print((count) + " " );
}
但是这个循环也只会对count
{1, 5} 中的值执行,因为 17 大于 10。