Java 运算符的使用

 java运算符的使用

        每当看到用一个变量 & | ~其他变量的代码,无论使用什么语言写的,我都会觉得高大上。今天我也来对这个用法掌握一下,下次也写写看似高端的代码。位运算符的使用主要是可以用来表示状态位,一个int在现在的计算机中通常由32位二进制位表示,也就一个int可以表示32个状态可以进行状态的判断.

       int state=state&~MASK1; state|MASK2; 表示置状态位MASK2,不置MASK1.如何判断是否置了状态位MASK1, state&MASK1>>int ==0;

    

    private static final int MASK_REQUERY = 1;                    //重新查询位
    private static final int MASK_CAN_CHARGE = 2;               //充值位
    private static final int MASK_INSERT_INTO_NOTIFY = 3;   //通知表位
    private static final int STATE_REQUERY = 1 << MASK_REQUERY;                       //需要重试
    private static final int STATE_CAN_CHARGE = 1 << MASK_CAN_CHARGE;                 //需要充值
    private static final int STATE_INSERT_INTO_NOTIFY = 1 << MASK_INSERT_INTO_NOTIFY;
    
    public void run(){

        int state=0
        state = state & ~STATE_CAN_CHARGE;
        state = state | STATE_INSERT_INTO_NOTIFY;
        state = state & ~STATE_REQUERY;

        if (((state & STATE_CAN_CHARGE) >> MASK_CAN_CHARGE) == 1) {
              //=0就是不需要充值;需要充值时逻辑处理                 
           }
        if (((state & STATE_INSERT_INTO_NOTIFY) >> MASK_INSERT_INTO_NOTIFY) == 1) {
              //需要通知时逻辑处理                 
          }
        if (((state & STATE_REQUERY) >> MASK_REQUERY) == 1) {
              //需要查询时逻辑处理 
        }



}

 

  

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值