互换两个变量的值的方法?
1.加减法
package basic;
/**
* 交换两个变量的值
* a=5,b=10;
* a=a+b;b=a-b;a=a-b;
*/
public class LogicOperation {
public static void main(String[]args) {
int a = 5;
int b = 10;
a=a+b;//a=15
b=a-b;//b=15-10=5
a=a-b;//a=15-5=10
System.out.println("a:"+a+" "+"b:"+b);//a:10 b:5
}
}
2.乘除法
package basic;
/**
*交换两个变量的值
* a=5,b=10;
* a=a*b;b=a/b;b=a/b;
*/
public class LogicOperationDemo2 {
public static void main(String[]args) {
int a = 5;
int b = 10;
a = a*b;//a=5*10=50
b = a/b;//b=50/10=5
a = a/b;//a=50/5=10
System.out.println("a:"+a+" "+"b:"+b);//a:10 b:5
}
}
3.二元运算符法
package basic;
/**
* 二元运算符算法,需要化为二进制才能进行计算,在两个操作数中,如果
* 两个相应的为相同,则运算结果为0,否则为1;例如:
* int a=5;
* int b=10;
*a=5(二进制) = 0101
*b=10(二进制) = 1010
* a=a^b(二进制)= 1111=15(十进制)
* b: 1010
* a: 1111
* b=b^a(二进制)= 0101=5(十进制)
*
* b: 0101
* a: 1111
* a=a^b(二进制)= 1010=10(十进制)
*/
public class LogicOperationDemo3 {
public static void main(String[]args) {
int a=5;
int b=10;
a=a^b;
b=b^a;
a=a^b;
System.out.println("a:"+a+" "+"b:"+b);//a:10 b:5
}
}
4.引入第三个变量互换两个变量的值
/**
* 引入第三个变量c,
* 简单记忆:首尾相连,c---c,案例如下:
*/
public class LogicOperationDemo4 {
public static void main(String[]args) {
int a = 5;
int b = 10;
int c ;
c = a;
a = b;
b = c;
System.out.println("a:"+a+" "+"b:"+b);//a:10 b:5
}
}