首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

大家帮小弟我看看这段代码是如何执行呢

2012-03-21 
大家帮我看看这段代码是怎么执行呢?int[] a1{1,2,3,4,5}int[] a2a2a1for (int i0ia2.lengthi++)a

大家帮我看看这段代码是怎么执行呢?
int[] a1={1,2,3,4,5};
int[] a2;
a2=a1;
for (int i=0;i<a2.length;i++) 
a2[i]++;
for (int i=0;i<a1.length;i++)
System.out.println("a1["+i+"]="+a1[i]);


到底是怎么执行呢?

运行的结果是:
a1[0]=2
a1[1]=3
a1[2]=4
a1[3]=5
a1[4]=6

为什么是a1[0]=2呢?我实在搞不懂


[解决办法]
a1和a2都是指向相同的区域的啊

你对a2进行a2[i]++; 这样的操作,实际上就是对数组所指的那片内存进行的操作,而不是地址,所以a1也会发生变化的。

热点排行