逻辑运算符混用的结果
true | true && false的结果是false;
true || true && false的结果是true,程序中显示true&&false是dead code;
true | true & false的结果是true。
有人能告诉我为什么吗?
------解决方案--------------------dead code就是永远执行不到的代码,有可能会被编译器优化掉的。
你自己看看你的逻辑是不是有可能运行到?
------解决方案-------------------- 不会短路运算
true
------解决方案-------------------- true && false 先比较true
------解决方案--------------------true,返回true 然后&& false时因为&& 要都两边都为true才是true,所以就false 啦
------解决方案-------------------- 会短路运算
true
------解决方案-------------------- true && false 当看到第一个为true的时候,
------解决方案-------------------- 只要有一个为true就返回true,所以 你后面那个&& 不会执行到那啦
true
------解决方案-------------------- true & false的结果是true。 额,这个优先级 & 优先级比
------解决方案--------------------高 true
------解决方案-------------------- (true & false)
应该是这么个情况
------解决方案--------------------
int i=1;
System.out.println(true
------解决方案--------------------
(i++==2));
System.out.println(i);
结果为1