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) {
              //需要查询时逻辑处理 
        }



}

 

  

你可能感兴趣的:(运算符)