
3.3 逻辑运算符
逻辑运算符主要用作逻辑操作,比如与、或、非操作等,表3-3中列出了所有的逻辑运算符。
表3-3 逻辑运算符

在表3-3中展示了Java编程中常用的逻辑运算符。它们之间的特征如下所示:
● &:一个双目运算符,左右两侧都有一个布尔值,两侧都为true时整个结果返回true,否则返回false。无论左侧是true还是false,都会对右侧的值进行运算。
● |:一个双目运算符,左右两侧都有一个布尔值,两侧都为false时整个结果返回false,否则返回true。无论左侧是true还是false,都会对右侧的值进行运算。
● &&:一个双目运算符,左右两侧都有一个布尔值,两侧都为true时整个结果返回true,否则返回false。当左侧是false时,不会再对右侧的值进行运算。
● ||:一个双目运算符,左右两侧都有一个布尔值,两侧都为false时整个结果返回false,否则返回true。当左侧是true时,不会再对右侧的值进行运算。
● !:一个单目运算符,对右侧的结果取反,即!true==false。
● ^:一个双目运算符,左右两侧都有一个布尔值,两侧布尔值不一样时返回true,否则返回false。无论左侧是true还是false,都会对右侧的值进行运算。
逻辑运算符的使用如示例3-3所示。
【示例3-3】逻辑运算符

程序编译后,运行结果如下:

在示例3-3中,需要特别注意的是两个短路运算符,即短路或(||)和短路与(&&)。对于短路或来说,只要是第一个表达式成立,那么第二个表达式不管是什么结果,整个表达式的执行结果都是true,因此后面的表达式将不再执行。对于短路与来说,只要是第一个表达式不成立,那么后面的表达式的结果对整体的结果也没什么影响,后面的表达式也就不会再执行。因此在使用时需要特别注意。