概念
位运算:计算机是以0、1进行存储的,直接在内存中对二进制位进行操作。
代码实现
/**
* 位运算符
* 计算机二进制。
*/
public class BitwiseTest {
private static final int add = 1<<0;
private static final int delete = 1<<1;
private static final int update = 1<<2;
private static final int query = 1<<3;
private static int flag = 15;//默认全部权限
public static void addPermission(int permission) {
flag = flag|permission;
}
public static void delPermission(int permission) {
//先将permission取反即权限所在位为0,然后与flag相与。删除权限所在位与为0.
flag = flag&~permission;
}
public static boolean checkPermission(int permission) {
return (flag&permission) == permission;
}
public static void main(String[] args) {
System.out.println("初始权限为:"+flag);
delPermission(update);
System.out.println("删掉update权限为:"+flag);
delPermission(query);
System.out.println("删掉query权限为:"+flag);
System.out.println("是否具有update权限:"+checkPermission(update));
addPermission(update);
System.out.println("增加update权限后,是否具有update权限:"+checkPermission(update));
}
}