public class EXR3 {
public static void main(String[] args) {
int [] array1 = new int[] {2,3,5,7,11,13,17,19};
int [] array2;
for(int i = 0;i < array1.length;i++) {
System.out.print(array1[i]+"\t");
}
System.out.println();
array2 = array1;
for(int i = 0;i < array2.length;i++) {
if(i % 2 == 0) {
array2[i] = i;
}
}
for(int i = 0;i < array1.length;i++) {
System.out.print(array1[i]+"\t");
}
}
}
以上是错误示范,把array1堆空间的地址赋值给array2的地址,这样会使array2,array1操作的同时,互相影响
正确写法:
package com.atguigu.java;
public class EXR3 {
public static void main(String[] args) {
int [] array1 = new int[] {2,3,5,7,11,13,17,19};
int [] array2;
for(int i = 0;i < array1.length;i++) {
System.out.print(array1[i]+"\t");
}
System.out.println();
array2 = new int [array1.length];
for(int i = 0;i < array2.length;i++) {
array2[i] = array1[i];
if(i % 2 == 0) {
array2[i] = i;
}
System.out.print(array2[i]+"\t");
}
System.out.println();
for(int i = 0;i < array1.length;i++) {
System.out.print(array1[i]+"\t");
}
}
}