Java题目总结(一)

缪金谷 84 0

Java题目总结(一)

1、&和&&的区别

&可以视为逻辑运算也可以视为位运算 &&只能当做逻辑运算来用

如果两个符号都当做逻辑运算符使用的时候,如下:

  1. &前后两个条件都是true 最终结果就是true,当前面条件为false时,后面条件依旧执行一次

  2. &&短路与,正常情况下与&一致,但当前面条件为false时,发生短路,后面条件不执行,结果为false

2、最有效率的方式计算2*8的结果

我们可以用2<<3来计算2*8的结果

因为左位移符相当于乘以2的左位移数次幂,相当于2*2³

3、将两个变量内的数互换

int a=1;int b=2;如何将a和b的数字互换

方法一

利用一个第三方空间c作为中间容器,缺点是浪费空间

int a=1;
int b=2;
int c=a;
a=b;
b=c;

方法二

利用两个数字的和,缺点是如果超出变量内存将无法转换

int a=1;
int b=2;
a=a+b;
b=a-b;
a=a-b;

方法三

利用两个数字异或的中间值,缺点是不好理解

int a=1;//00000001
int b=2;//00000010
a=a^b;//00000011
b=a^b;//00000001
a=a^b;//00000010



目录导航
  • Java题目总结(一)
      • 1、 和 的区别
      • 2、最有效率的方式计算2*8的结果
      • 3、将两个变量内的数互换
  • 发表评论 (已有0条评论)

    还木有评论哦,快来抢沙发吧~