我的演示程序:
public static void main(String x[])
{
int tempVal = 5;
for(int i = 0; i < 5; tempVal = i++)
{
System.out.println("Value Of i: "+i +" _tempVal:"+tempVal);
}
}
Run Code Online (Sandbox Code Playgroud)
输出 :
i 的值:0 _tempVal:5
i 的值:1 _tempVal:0
i 的值:2 _tempVal:1
i 的值:3 _tempVal:2
i 的值:4 _tempVal:3
为什么变量 "tempVal" 与 'i' 的值不同?
因为你是后递增的。这意味着tempValue = i但随后i会增加。
为什么在第一次迭代时tempValue仍然是 5 ?OCA Programmer Guide 中有一个不错的图
它解释了 for 循环中的每一步,这里最重要的是更新语句是在主体执行之后 执行的。
更具体地说,该图来自“第2章(运算符和语句)” (图2.7)