public class Test1{
public static void main(String[] args){
int x = 3;
do {
int y = 1;
System.out.print(y++ + " ");
x--;
} while(x >= 0);
}
}
在上面的代码中,局部变量 y 在 do while 语句块的范围内。这对于循环的所有迭代都是有效的。那么为什么 Java 在第一次迭代后不会抛出“变量 Y 已经定义”的错误,因为我们在每次迭代中重新声明了相同的变量?
y
的值不能在一个循环迭代到下一个迭代中保持不变。(还有Jon所说的。) - Stephen C