单一状态码var i2 = 1 << 2; //4 左移var i3 = 1 << 3; //8 左移var i4 = 1 << 4; //16 左移var i5 = 1 << 5; //32 左移数据状态值var huo = i3 | i4 | i2; //28 或//判断状态System.out.println("yu1" + (huo & i2)); // 4 & 与System.out.println("yu2" + (huo & i4)); // 16 & 与System.out.println("yu3" + (huo & i5)); // 0 & 与判断逻辑 就是所有状态status1 = 1 << 2status2 = 1 << 3status3 = 1 << 4某数据 保存状态 code = status1 | status2 = 12判断状态 [是否status1] = ((code & status1)=4) > 0 = 存在这个状态判断状态 [是否status2] = ((code & status2)=8) > 0 = 存在这个状态判断状态 [是否status3] = ((code & status3)=0) = 0 = 不存在这个状态### 左移为状态码保存状态 多状态码间 | 得到的值状态判断 保存状态的值 & 状态码