为什么是交换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了