//这个位运算早在VB.Net一些程序中用过,只做我初学java的参考。
public class WeiYunX {
private class eType {
public final static int None = 0;
public final static int NeiXiao = 1;
public final static int RiBen = 2;
public final static int QiTaWaiXiao = 4;
}
private static int e = eType.None;
public static void main(String[] args) {
wl("1 e type init= " + e);
e |= eType.RiBen;
wl("2 change 02 e= " + e);
wl("2 and x:1=" + ((e & eType.NeiXiao) == eType.NeiXiao));
wln();
e |= eType.NeiXiao; //保留原有值。
wl("3 change 03 e= " + e);
wl("3 and x:1=" + ((e & eType.NeiXiao) == eType.NeiXiao));
wl("3 and x:4=" + ((e & eType.QiTaWaiXiao) == eType.QiTaWaiXiao));
wln();
e = eType.QiTaWaiXiao; //此处重新赋值。
wl("4 change 04 e= " + e);
wl("4 and x:2=" + ((e & eType.RiBen) == eType.RiBen));
}
private static void wln() {
wl("----------------------");
}
private static void wl(String msg) {
System.out.println(msg);
}
}
执行结果:
1 e type init= 0
2 change 02 e= 2
2 and x:1=false
----------------------
3 change 03 e= 3
3 and x:1=true
3 and x:4=false
----------------------
4 change 04 e= 4
4 and x:2=false