操作 使用 不用 col int 个数 span 定义 交换
普通方法,进阶方法,大神方法
方法二不建议使用,因为有可能丢失精度
@Test public void test3() {
int m = 5;
int n = 12;
//要求m和n交换位置
System.out.println("m=" + m + " n=" + n); //m=5 n=12
//方法一:定义临时变量
//优点:操作简单,缺点:需定义临时变量,内存消耗较大
int temp = m;
m = n;
n = temp;
System.out.println("m=" + m + " n=" + n); //m=12 n=5
//方法二:不定义临时变量,使用相加
//优点:无需定义临时变量,节省内存.缺点:当两个数值较大时,容易丢失精度
m = m + n; //12 + 5
n = m - n; //12 + 5 - 5,是原来的m的值,赋给n
m = m - n; //12 + 5 - 12,是原来n的值,赋给m
System.out.println("m=" + m + " n=" + n); //m=5 n=12
//方法三:大神专用,使用异或^
//优点:不会丢失精度,不用定义变量,内存消耗最小,缺点:一般人不会想到这么写,写了一般人也看不懂
m = m ^ n;
n = m ^ n; // m ^ n ^ n == m
m = m ^ n; // m ^ n ^ m == n
System.out.println("m=" + m + " n=" + n); //m=12 n=5
}
java 实现两个 int 数交换
来源: http://www.bubuko.com/infodetail-2461803.html