以下for循环与原始循环有何不同?
为什么初始化后会检查条件?

为什么for循环会出现这种行为以及其他棘手的行为呢?

class FooBar
{
static public void main(String... args)
{
    for (int x = 1; ++x < 10;)
    {
        System.out.println(x);  // it starts printing from 2

    }
}
}

输出:
2
3
4
5
6
7
8
9

最佳答案

x的增量与条件结合在一起。通常,增量在for循环的第三部分中执行,该循环是在迭代结束时执行的语句。

但是,条件是在循环开始时检查的。它是一个表达式,而不是语句,但是如您所见,这不会阻止某人插入副作用-x的预增量。

由于x1开头,因此条件在第一次迭代之前将其递增为2

10-05 22:55
查看更多