public class Array Test4{
public static void main(String[] args){
int a[]={2,4,6,8};
int b[];
int[] c={1,3,5,7};
b=a;
c=a;
for(int j=0;j<a.length;j++)
System.out.print(a[j]+" ");
System.out.print();
for(int j=0;j<b.length;j++)
System.out.print(c[j]+" ");
System.out.print();
for(int j=0;j<c.length;j++)
System.out.print(b[j]+" ");
}
}
输出结果为什么是2 4 6 8
2 4 6 8
2 4 6 8
多谢大神指点
------解决方案--------------------
b=a; //a的全部元素覆盖了b,因为b本来就没有,所以b现在和a一样了
c=a; //a的全部元素覆盖了c, c和a也就一样了。
所以现在这3个数组都一样了。自然是那个结果啊?和普通变量赋值一样么。有疑问?
------解决方案--------------------
这代码能跑起来?
------解决方案--------------------
把 System.out.print();
换为:System.out.println();
print方法要有参数;
数组这样是可以的啊,直接赋值;
------解决方案--------------------
1楼解释的很清楚了。
b和c执行a的内存地址,实质就是abc指向一处,打印出来就都一样了