- 利用第三个变量交换数值
package leif.tests;
public class Test {
public static void main(String[] args) {
int a = 3;
int b = 5;
int temp = a;
a = b;
b = temp;
System.out.println(a);
System.out.println(b);
}
}
- 利用两个数求和然后相减的方式进行数据交换,弊端在于如果数值过大的话会损失精度
package leif.tests;
public class Test {
public static void main(String[] args) {
int a = 3;
int b = 5;
a = a + b;
b = a - b;
a = a - b;
System.out.println(a);
System.out.println(b);
}
}
- 利用位运算的方式进行数据的交换,思想原理:一个数异或同一个数两次,结果还是原来的数,而且不会超出范围
package leif.tests;
public class Test {
public static void main(String[] args) {
int a = 3;
int b = 5;
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println(a);
System.out.println(b);
}
}
- 在输出时直接交换变量
package leif.tests;
public class Test {
public static void main(String[] args) {
int a = 3;
int b = 5;
System.out.println(b);
System.out.println(a);
}
}