为什么会这样
int x = 2;
for (int y =2; y>0;y--){
System.out.println(x + " "+ y + " ");
x++;
}
打印和这个一样吗?
int x = 2;
for (int y =2; y>0;--y){
System.out.println(x + " "+ y + " ");
x++;
}
据我所知,后增量首先“按原样”使用,然后递增。都是先添加后使用的前置增量。为什么这不适用于 for 循环的主体?
最佳答案
循环相当于:
int x = 2;
{
int y = 2;
while (y > 0)
{
System.out.println(x + " "+ y + " ");
x++;
y--; // or --y;
}
}
从阅读该代码可以看出,在 for 循环的第三部分使用 post 或 pre 减量运算符并不重要。
更一般地说,任何形式的 for 循环:
for (ForInit ; Expression ; ForUpdate)
forLoopBody();
完全等同于while循环:
{
ForInit;
while (Expression) {
forLoopBody();
ForUpdate;
}
}
for 循环更紧凑,因此更容易解析这种常见的习惯用法。
关于java - 为什么在 for 循环的迭代部分将前增量更改为后增量不会产生影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1918196/