/*
需求1:请用最有效率的方式计算出2乘以8的结果?
分析:使用位运算是最有效率的方式,因为是乘法运算,所以是左移。
需求2:请自己实现2个整数变量的交换。
分析:四种方法
A:使用第三方变量
B:使用加法运算
C:使用^运算符运算
D:一句话搞定
*/
class OperatorDemo1{
public static void main(String[] args){
//需求1:请用最有效率的方式计算出2乘以8的结果?
//先定义一个变量max来接收运算后的结果。
int max = 2<<3;//因为8是2的3次方,所以左移3位。
System.out.println("max="+max);
System.out.println("---------------------");
//需求2:请自己实现2个整数变量的交换。
//A:使用第三方变量
int a = 10;
int b = 20;
System.out.println("a="+a+",b="+b);
//int temp = a;
// a = b;
// b = temp;
// System.out.println("a="+a+",b="+b);
System.out.println("---------------------");
//B:使用加法运算
// a = a+b;//先将a和b的和计算出来,再用和去减
// b = a-b;
// a = a-b;
// System.out.println("a="+a+",b="+b);
System.out.println("---------------------");
//C:使用位异或
// a = a ^ b;
// b = a ^ b;//相当于a^b^b=a
// a = a ^ b;//相当于a^a^b=b
// System.out.println("a="+a+",b="+b);
//D:一句话搞定
b = (a+b)-(a=b);
System.out.println("a="+a+",b="+b);
}
}
|