java数组遍历循环赋值,为什么第一次循环时是4,之后循环就变成2了呢?

循环时应该只是读arr1的值,并没有对arr1进行赋值啊?如果我把intarr2[][]=arr1;改为intarr2[][]=newint[3][3];则输出结果也是正... 循环时应该只是读arr1的值,并没有对arr1进行赋值啊? 如果我把int arr2[][]=arr1;改为int arr2[][]= new int[3][3];则输出结果也是正确的,这是为什么呢? 展开
 我来答
psong310
2017-01-20 · TA获得超过254个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:137万
展开全部
数组是引用类型,int arr2[][]=arr1赋值了,arr1和arr2会指向同一块内存,2个引用操作同一块内存,arr2改变,自然arr1就变,当int arr2[][]= new int[3][3];开辟一块新的内存,2个内存不相互干扰,就不会有问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式