逻辑运算符:
  & 逻辑与(可以翻译成并且)<br />      | 逻辑或(可以翻译成或者)<br />      ! 逻辑于(取反)<br />      &&短路与()<br />      ||短路或<br />   <br />用普通话描述的话:100 大于 99 并且 100 大于 98 ,有道理<br />用代码描述的话:100 > 99 & 100 > 98 -->true<br /> 
非常重要:
  逻辑运算符两边要求都是布尔类型,并且最终的运算结果也是布尔类型。<br />      这是逻辑运算的特点。<br />   <br />  100 & true 不行,语法错误。<br />  100 & 200 不行,没有这种语法。<br />  true & false 这样可以。<br /> <br />  100 > 90 & 100 > 101 --> false<br /> <br />  & 两边都是true,结果才是true<br />  | 有一边是true,结果就是true
public class OperatorTest03{    public static void main(String[] asge){        // 对于逻辑与&运算符来说,只要有一边是false,结果就是false。        // 只有两边同时为true,结果才是true。        System.out.println(true & true); // true        System.out.println(true & false); // false        System.out.println(false & false; // false        System.out.println(100 > 90 & 100 > 101); // false        int a = 100;        int b = 101;        int c = 90;        System.out.println(a < b & a > c); // true        // 对于逻辑或呢?        // 只要有一边是true,结果就是true。        System.out.println(a < b | c > b); // true        System.out.println(true | false); // true        System.out.println(true & true); // true        System.out.println(false | false); // false        System.out.println(!false); // true        System.out.println(!true); // false        // 注意:这里需要加一个小括号。        System.out.println(!(a > b)); // true        /*                关于短路与 &&,短路或 ||                其中重点学习短路与,短路或照葫芦画瓢。                短路与 && 和逻辑与 & 有什么区别?                    首先这两个运算符的运算结果没有任何区别,完全相同。                    只不过“短路与&&”会发生短路现象。                什么是短路现象呢?                    右边表达式不执行,这种现象叫做短路现象。                什么时候使用&&,什么时候使用& ?                    从效率方面来说,&&比&的效率高一些。                    因为逻辑与&不管第一个表达式结果是什么,第二个表达式一定会执行。                    以后的开发中,短路与&&和逻辑与还是需要同时并存的。                        大部分情况下都建议使用短路与&&                        只有当既需要左边表达式执行,又需要右边表达式执行的时候,才会选择逻辑与&。        */        System.out.println(true & true); // true        System.out.println(true & false); // false        System.out.println(false & false); // false        System.out.println(true && true); // true        System.out.println(true && false); // false        System.out.println(false && false); // false        //接下来需要理解一下什么是短路现象,什么时候会发生“短路”。        int x = 10;        int y = 11;        // 逻辑与&什么时候结果为true(两边都是true,结果才是true)        System.out.println(x > y & x > y++); // 左边的 x > y 表达式结果已经是false了,其实整个表达式的结果已经确定是false了,按道理来说右边的表达式不应该执行。        // 通过这个测试得出:x > y++ 这个表达式执行了。        System.out.println(y); // 12        // 测试短路与&&        int m = 10;        int n = 11;        // 使用短路与&&的时候,当左边的表达式为false的时候,右边的表达式不执行。        // 这种现象被称为短路现象        System.out.println(m > n && m > n++);        System.out.println(n); // 11        // 问题: 什么时候发送短路或现象?        // || 短路或        // “或”的时候只要有一边是true,结果就是true。        // 所以,左边的的表达式结果是true的时候,右边的表达式不需要执行,此时会短路。    }}