Java 为什么';t循环显示变量重新声明错误 for(int i=0;i

Java 为什么';t循环显示变量重新声明错误 for(int i=0;i,java,Java,it因为您已经声明了变量J,所以不再使用int声明它 for(int i=0;i<2;i++){ int j=i; System.out.println(j); } //same thing what a for loop does /**********************************************/ int j=0; System.out.println(j); int j=1

it因为您已经声明了变量J,所以不再使用int声明它

for(int i=0;i<2;i++){
        int j=i;
        System.out.println(j);
    }

    //same thing what a for loop does
/**********************************************/    
    int j=0;
    System.out.println(j);

    int j=1;
    System.out.println(j);
文件的格式如下

int j=0;
    System.out.println(j);

     j=1;
    System.out.println(j);*
或者

初始化部分只执行一次

初始化表达式初始化循环;它被执行 一次,循环开始时


初始化部分中声明的变量在整个
for
语句(包括其主体)的范围内。

这是因为变量
j
的范围仅限于循环的一次迭代。第二个代码并不完全等同于第一个“展开的”如果你想做一个完全等效的循环,在每个模拟的迭代周围加上花括号,如下所示:

for (initialization; termination;
     increment) {
    statement(s)
}

现在,您的代码将正确编译和运行,产生与原始代码段相同的结果。

因为循环是有效的,所以相同的事情发生在for循环中。for循环在第二次执行时重新声明变量,所以我的问题是,为什么不显示错误?
for (initialization; termination;
     increment) {
    statement(s)
}
{
    int j=0;
    System.out.println(j);
}
{
    int j=1;
    System.out.println(j);
}