Java 方法的参数是简单类型的时候,是按值传递的 (pass by value),所以Java里面不能实现和C中一样的swap方法来交换两个数的值。非要用的话只能这样写:
//交换数组data中的第a和第b个元素 估计不是你想要的效果。
关于Java中参数和引用的问题建议看看下面的博文:
哥们,你真能混淆视听!
追答//嗯,上面犯了一各错误,java是传值的,那样只是交换了参数中的值,
//并没有影响实参的值。
//修改后的代码:
package com.zaifu;
public class exchange8
{
public static void main(String args[])
{
int[] x = new int[] { 2, 4 };
System.out.println("交换前x=" + x[0]);
System.out.println("交换前y=" + x[1]);
swap(x);
System.out.println("交换后x=" + x[0]);
System.out.println("交换后y=" + x[1]);
}
public static void swap(int[] x)
{
int temp = x[0];
x[0] = x[1];
x[1] = temp;
}
}