Java重学--05位运算

1.位运算符操作的都是整型数据

2.<<: 在一定范围内,每向左移1位,相当于*2

   >>: 在一定范围内,每向左移1位,相当于/2

 超出范围可能为负数

 

面试题 最高效的计算2*8? 2<<3  8<<1

 

3.>>>后面学集合 哈希值的时候会用到

4.& | ^  在分支结构中做判断的时候两边都是布尔型所以结果也是布尔型

               但是在整型数字运算时是针对二进制来操作 0&1为0 ;1|0为1;^表示异或

5.~取反码

6.练习:交换两个变量的值

     可以类比于交换水和雪碧来做

 int t=num1;

num1=num2;

num2=t;  这个方法好

     可以类比甲乙在两个孤岛上交换位置跳来跳去即加减

num1=num1+num2;

num2=num1-num2;

num1=num1-num2;    缺点是相加操作可能超出存储范围,只能用于数值型类型

使用位运算符的方法

num1=num1^num2;

num2=num1^num2;

num1=num1^num2;

 

7.三元运算符

结构: (条件表达式)?表达式1:表达式2

为真执行1,为假执行2

表达式1和2虽然不要求是同一个类型,但是需要是可以转化为一个类型的,例如2:1.0是可以的,因为他们都能转化为double型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值