JAVA中遍历数组可以用增强的for循环,语法格式为:
for(声明语句 : 表达式--要访问的数组名){//代码句子}
如果使用普通的for循环遍历数组,格式如下:
class Variable{
public static void main(String[] args) {
int[] array1,array2;
array1 = new int[] {2,3,5,7,11,13,17,19};
//打印array1
for(int i=0;i<array1.length;i++) {
System.out.print(array1[i]+" ");
}
//将array1的值复制给array2
array2 = array1;
//修改array2的偶数索引元素,使得值等于索引值
for(int i=0;i<array2.length;i++) {
if(i%2==0) {
array2[i] = i;
}
}
System.out.println();
//打印array1的值
for(int i=0;i<array1.length;i++) {
System.out.print(array1[i]+" ");
}
}
}
以上代码输出为:
2 3 5 7 11 13 17 19
0 3 2 7 4 13 6 19
为了少些代码,使用增强的for循环替换以上代码的普通for循环,即
class Variable{
public static void main(String[] args) {
int[] array1,array2;
array1 = new int[] {2,3,5,7,11,13,17,19};
//打印array1
for(int x: array1) {
System.out.print(array1[x]+" ");
}
}
}
运行报错:5 7 13 19 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 11 out of bounds for length 8-------------一种运行时异常,常出现在数组下标越界中,称为下标出界异常
出错的原因是lz脑子抽了把打印语句写错了,正确写法是:
System.out.print(x+" ")