此代码不起作用:
public class Test
{
public static void main(String[] args)
{
int i=3;
int i=4;
System.out.println(i);
}
}
那么为什么这段代码可以工作呢?
public class Test
{
public static void main(String[] args)
{
for(int a=0;a<9;a++)
{
int b=a+1;
System.out.println(b);
}
}
}
我们不是一次又一次地重新声明 b
吗?
最佳答案
循环的每次迭代都有自己的作用域,因此先前迭代的声明不再位于当前迭代的作用域内。
相当于写:
{
int b=1;
System.out.println(b);
}
{
int b=2;
System.out.println(b);
}
{
int b=3;
System.out.println(b);
}
....
关于java - 怎么可能在循环内重新声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26522095/