public class Arrays {
public static void main(String[] args) {

int[] a1={1,2,3,4,5,6};        int[] a2;        a2=a1;        for(int i=0;i<a1.length;i++){          a2[i]++;              System.out.println("a1["+i+"]="+a1[i]);              System.out.println("a2["+i+"]="+a2[i]); }}
}

解决方案 »

  1.   

    首先声明一个数组a1
    然后再声明一个数组类型的引用a2指向a1
    此时内存中一共就一个数组,
    只不过有两个引用同时指向这个数组
    所以在对a2的元素操作时,相当于对a1的元素进行操作
    因而打印的结果为
    a1[0]=2
    a2[0]=2
    a1[1]=3
    a2[1]=3
    a1[2]=4
    a2[2]=4
    a1[3]=5
    a2[3]=5
    a1[4]=6
    a2[4]=6
    a1[5]=7
    a2[5]=7
    不知道楼主听懂了么