Java中for循环之前或内部的初始化

Java中for循环之前或内部的初始化,java,for-loop,Java,For Loop,请告诉我这两段代码的区别: int i = 0; for(i; i < test; i++) {...} 及 初始化i-increment变量的这些方法之间有什么区别吗?它会影响到什么吗?。第一个不是,因此违反了 仅当需要在for循环之前或之后访问i时才使用第二个。但是,我在这段代码中看不到任何东西表明情况如此。不同之处在于变量I的范围 在第一个示例中,i在for循环外部可见,而在第二个示例中,i不可见。在第一个示例中,可以在for循环范围的外侧使用i变量。 在第二种情况下,你不能这样做

请告诉我这两段代码的区别:

int i = 0;
for(i; i < test; i++) {...}

初始化i-increment变量的这些方法之间有什么区别吗?它会影响到什么吗?

。第一个不是,因此违反了


仅当需要在for循环之前或之后访问i时才使用第二个。但是,我在这段代码中看不到任何东西表明情况如此。

不同之处在于变量I的范围


在第一个示例中,i在for循环外部可见,而在第二个示例中,i不可见。

在第一个示例中,可以在for循环范围的外侧使用i变量。
在第二种情况下,你不能这样做。只能在for循环范围内使用。

在这两种情况下,一旦没有显著的性能或内存问题,就会定义变量。不同之处在于范围和代表性。在第一种情况下,我将不在for声明的范围内


第一种情况很有用,例如,如果你想找到一个元素的特定索引,这种方法确实存在更好的替代方法,或者如果你想迭代直到满足某个条件,然后知道循环停止在哪个索引。

谢谢……我有一个类似于forint i=0的代码;i@byank在这种情况下,i被认为在for循环中。但是,在for循环的右括号结束后,我将不在范围内:forint i=0;我
for(int i = 0; i < test; i++) {...}