java数组里的元素交换问题

为什么是交换arr[index],而不是交换他们的index,感觉都可行,但是结果却不一样,问什么呢?
数组int[] arr = new int[10];
第一种方法:
int temp = arr[a];

arr[a] = arr[b];
arr[b] = temp;

另一种是 :
temp = a;
a = b;
b = temp;

感觉逻辑上一个意思啊,为什么结果不一样?

把你的代码打出来看看追答

比如arr 是 [0,1,2,3,4,5,6,7,8,9]
a = 2, b = 6

第一种方法会把arr变成 [0,1,6,3,4,5,2,7,8,9]
第二种方法只是把a变成了6,变成了2, 连arr都没碰过,所以arr是不会变的

追问

2和6互换,它们的下标互换了,也不就是值互换了吗?我现在知道我的想法是错误的,但是不知道错的具体原因,能再解释下么?谢谢了

我自己想明白了~谢谢了~

追答

下标换了但是数组本身没变
你的目的是要把数组里面的元素交换
假如之后我又想要拿arr[2]的值,我希望是6,而不是2了

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答