方式一:最常见的用三个变量来交换两个变量之间的值;
方式二:用两个变量来交换值,把这两个变量的值看作是数轴上的两个点,先用一个小的变量c(大的也可以,这里就用小的先记录距离)来记录这两个点之间的距离,然后再用大的变量d减去距离就是小的变量c的值,然后原先记录小的值的变量c(现在记录距离)加上d就是原先大的变量d的值。
代码如下:
package com.jie.day02;
public class demo02 {
public static void main(String[] args) {
System.out.println("交换两个变量的值(方法一):");
int a = 10;
int b = 15;
int t = a;
a = b;
b = t;
System.out.println("a=" + a + ",b=" + b);
System.out.println("交换两个变量的值(方法二):");
/*
看成数轴上的两个点:先算出两个点之间的距离,然后再用距离来得出两个点交换后的值.
*/
int c = 10;
int d = 15;
c = d - c; // 5 (两点之间的距离,先用c来记住)
d = d - c; // 10 (d点减去距离后就是原来的c点的值10)
c = d + c; // 15 (d点现在是原来c点的值10,然后加上两点间的距离5就等于d点原来的值15)
System.out.println("c=" + c + ",d=" + d);
}
}