java 在for-each循环外声明int i导致错误?

vecaoik1  于 2023-08-02  发布在  Java
关注(0)|答案(2)|浏览(129)
public static void main(String[] args) {
    int[] arr = {-1,1,1};
    int i;
    for(i: arr){
        System.out.println(i);
    }
}

字符串
上面的代码给出错误。错误:for循环的初始值设定项错误
但是下面的代码工作正常。

public static void main(String[] args) {
    int[] arr = {-1,1,1};
    for(int i: arr){
        System.out.println(i);
    }
}


我能知道为什么在for-each循环外初始化i是错误的吗?

9w11ddsr

9w11ddsr1#

因为你不能像那样使用for循环。for in语法要求您使用一个作用域为循环的新变量。你可以这样使用它:

public static void main(String[] args) {
    int[] arr = {-1,1,1};
    int i;
    for(i = 0; i < arr.length; i++){
        System.out.println(arr[i]);
    }
}

字符串

gojuced7

gojuced72#

增强的for循环的语法就是这样。

for(int x: arr) {
     System.out.println(x);
}

字符串

相关问题