循环条件中的局部变量声明

public class Main6 {

    public static void main(String[] args){

        for (int i = 0; i < 10; i++) 
            int id=i;
            
    }
}

上面程序的运行结果为:编译错误

局部变量声明的作用在一个块内,也可以理解为在{}内,for循环可以不使用{},的,但局限与执行语句,期中不包括变量声明的语句,由于这段代码中Integer k的作用范围在整个main方法中,这样就造成了变量重复定义的错误,所以在编译时会出错,若要改正,只需要加上一对括号

public class Main6 {

    public static void main(String[] args){

        for (int i = 0; i < 10; i++) 
            {int id=i;}
            
    }
}
原文地址:https://www.cnblogs.com/csxf/p/3500923.html