法一:
public class Test {
public static void main(String[] args) {
int a = 1;
int b = 2;
a = b + (b = a) * 0; //这句实现交换
System.out.println("a:" + a + " b:" + b);
}
}
法二:
public class Person {
public static void main(String[] args) {
//利用一个数异或本身等于0和异或运算符合交换率
int a = 10, b = 5;
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println("a=" + a + "\nb=" + b);
}
}
法三:
public class Person {
public static void main(String[] args) {
//利用加减法
int a = 10, b = 5;
a = a + b;
b = a - b;
a = a - b;
System.out.println("a=" + a + "\nb=" + b);
}
}
public class Test {
public static void main(String[] args) {
int a = 1;
int b = 2;
a = b + (b = a) * 0; //这句实现交换
System.out.println("a:" + a + " b:" + b);
}
}
法二:
public class Person {
public static void main(String[] args) {
//利用一个数异或本身等于0和异或运算符合交换率
int a = 10, b = 5;
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println("a=" + a + "\nb=" + b);
}
}
法三:
public class Person {
public static void main(String[] args) {
//利用加减法
int a = 10, b = 5;
a = a + b;
b = a - b;
a = a - b;
System.out.println("a=" + a + "\nb=" + b);
}
}