增强for循遍历数组输出时容易出现的错误

因为刚开始学习,对增强for循环的概念不太清楚,所以在遍历数组的时候总是出现下标越界的错误。

回头看了一下,增强for循环的定义方法:

快捷键是:数组.for 就可以快速生成增强for循环

for(数组元素类型 变量名 :数组或集合 ) {

循环体

}

public class ArrayDemo01 {
    public static void main(String[] args) {
        //定义数组
        int[] a = {1,2,3,4,5};
        //增强for循环
        for (int i : a) {
            
        }
    }
}

这里我们可以发现在for循环里有i和a两个变量,按照定义i是变量,a是数组名,但是我们一般操作数组时习惯用a[i]这种方式,容易混淆。所以刚开始的输出代码就写成了如下图:

public class ArrayDemo01 {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,5};
        for (int i : a) {
            System.out.println(a[i]);
        }
    }
}

这样就会报数组下标越界错误,而且输出的数组不正确(是没有输出1的)

而正确的方法是只用输出i就可以,在增强for循环里面的i就是我们给数组里面的元素起的变量名,并不是数组下标!!!!一定要区分清楚,所以我们在循环体里只用输出i就好了。

public class ArrayDemo01 {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,5};
        for (int i : a) {
            System.out.println(i);
        }
    }
}

这样就正确了,在初学的时候一定要搞清概念,这对以后有很大的帮助,像我一样的萌新们一定要注意啊!!!

经验分享 程序员 微信小程序 职场和发展