因为刚开始学习,对增强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);
}
}
}
这样就正确了,在初学的时候一定要搞清概念,这对以后有很大的帮助,像我一样的萌新们一定要注意啊!!!