1.请实现2个整数变量的交换。
class Operator{
public static void main(String[] args){
int a = 10;
int b = 20;
System.out.println(“a:”+a+“,b:”+b);
//方式1:使用第三方变量(开发中最常用的)
int c = a;
a = b;
b = c;
system.out.println(“a:”+a+“,b:”+b); //可以运行成功,但面试不是最优解。
System.out.println(“-----------------------------------”);
//方式2: 用位异或实现。
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println(“a:”+a+“,b:”+b);
//方式三:使用变量相加的做法
a = a + b;
b = a - b;
a = a - b;
System.out.println(“a:”+a+“,b:”+b);
//方法4:一步搞定
a = (a + b) - (b = a);
System.out.println(“a:”+a+“,b:”+b);
}
}
网友评论