前人栽树,后人乘凉
本讲内容:关于交换两个数
对于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
时间: 2024-10-07 22:26:01