前人栽树,后人乘凉
本讲内容:关于交换两个数
对于Java来说,对于基本数据类型,Java传递的是一个拷贝副本,根本不能改变参数的值。可以通过数组来完成,因为数组传递的是地址。
例一:
public class Text {
public static void main(String[] args) {
int a=4;
int b=5;
change(a,b);
System.out.println("主函数:"+a+","+b);
}
public static void change(int a, int b) {
int temp;
temp = a;
a = b;
b = temp;
System.out.println("交换后的数据:" + a + "," + b);
}
}
输出:
交换后的数据:5,4
主函数:4,5
public static void change(int a, int b) {
//这种实现里面,只用这两个变量自身异//或去实现。
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println("交换后的数据:" + a + "," + b);
}
例三:
public static void change(int a, int b) {
//这种实现里面,只用这两个变量自身进行加减去实现。
a = a + b;
b = a - b;
a = a - b;
System.out.println("交换后的数据:" + a + "," + b);
}
例四:
public class Text {
public static void main(String[] args) {
int[] a = new int[2];
a[0] =4;
a[1] =5;
change(a, 0, 1);
System.out.println("主函数:"+a[0]+","+a[1]);
}
public static void change(int[] a, int x, int y) {
int temp = a[x];
a[x] = a[y];
a[y] = temp;
System.out.println("交换后的数据:");
System.out.println("x=" + a[0]);
System.out.println("y=" + a[1]);
}
}
输出:
交换后的数据:
x=5
y=4
主函数:5,4
本讲就到这里,Take your time and enjoy it