突然有人问起逻辑运算符,再经参考发现原来有个重大思考误区,故留个代码输出加深印象。。。
public class LogicOpTest { public static void main(String[] args) { Expression[] exps = new Expression[]{ Expression.FALSE, Expression.TRUE }; for(int i=0, j=0;;){ if(i
输出结果:
Expression: FALSE
Expression: FALSE Result: & false Expression: FALSE Result: && false Expression: FALSE Expression: FALSE Result: | false Expression: FALSE Expression: FALSE Result: || false Expression: FALSE Expression: TRUE Result: & false Expression: FALSE Result: && false Expression: FALSE Expression: TRUE Result: | true Expression: FALSE Expression: TRUE Result: || true Expression: TRUE Expression: FALSE Result: & false Expression: TRUE Expression: FALSE Result: && false Expression: TRUE Expression: FALSE Result: | true Expression: TRUE Result: || true Expression: TRUE Expression: TRUE Result: & true Expression: TRUE Expression: TRUE Result: && true Expression: TRUE Expression: TRUE Result: | true Expression: TRUE Result: || true
【20130904更新】扩充null值的对比
public class LogicOpTest { public static void main(String[] args) { Expression[] exps = new Expression[]{ Expression.FALSE, Expression.TRUE, Expression.NULL }; for(int i=0, j=0;;){ if(i
输出结果:
Expression: FALSE
Expression: FALSE Result: & false Expression: FALSE Result: && false Expression: FALSE Expression: FALSE Result: | false Expression: FALSE Expression: FALSE Result: || false Expression: FALSE Expression: TRUE Result: & false Expression: FALSE Result: && false Expression: FALSE Expression: TRUE Result: | true Expression: FALSE Expression: TRUE Result: || true Expression: FALSE Expression: NULL Result: & caught NullPointerException Expression: FALSE Result: && false Expression: FALSE Expression: NULL Result: | caught NullPointerException Expression: FALSE Expression: NULL Result: || caught NullPointerException Expression: TRUE Expression: FALSE Result: & false Expression: TRUE Expression: FALSE Result: && false Expression: TRUE Expression: FALSE Result: | true Expression: TRUE Result: || true Expression: TRUE Expression: TRUE Result: & true Expression: TRUE Expression: TRUE Result: && true Expression: TRUE Expression: TRUE Result: | true Expression: TRUE Result: || true Expression: TRUE Expression: NULL Result: & caught NullPointerException Expression: TRUE Expression: NULL Result: && caught NullPointerException Expression: TRUE Expression: NULL Result: | caught NullPointerException Expression: TRUE Result: || true Expression: NULL Result: & caught NullPointerException Expression: NULL Result: && caught NullPointerException Expression: NULL Result: | caught NullPointerException Expression: NULL Result: || caught NullPointerException Expression: NULL Result: & caught NullPointerException Expression: NULL Result: && caught NullPointerException Expression: NULL Result: | caught NullPointerException Expression: NULL Result: || caught NullPointerException Expression: NULL Result: & caught NullPointerException Expression: NULL Result: && caught NullPointerException Expression: NULL Result: | caught NullPointerException Expression: NULL Result: || caught NullPointerException