Java 逻辑运算符与短路逻辑运算符
Posted 流楚丶格念
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 逻辑运算符与短路逻辑运算符相关的知识,希望对你有一定的参考价值。
文章目录
逻辑运算符
逻辑运算符 | 名称 | 举例 |
---|---|---|
& | 逻辑与 | a&b ,a和b都为true,结果才为true,其余都为false |
丨 | 逻辑或 | a丨b ,a和b都为false,结果才为false,其余都为true |
^ | 逻辑异或 | a^b ,a和b相同(即a和b同为true,或同为false)结果才为false,其余为true |
! | 逻辑非 | !a ,与a 原来的结果相反 |
& 两边都是true时,结果才为true,只要运算符两边有一个false,结果就为false
| 两边都为false,结果为false,其余都为true
^ 两边如果相同为false,不相同为true
!就是把原来的结果变为相反,!true即为false,!false即为true
短路逻辑运算符
逻辑运算符 | 名称 | 作用 |
---|---|---|
&& | 短路与 | 作用和&相同,但是具有短路效果 |
丨丨 | 短路或 | 作用与丨相同,但是具有短路效果 |
见名知意:如果判断左边情况,来决定右边执行不执行
&&(短路与),如果左边为真,右边执行;如果左边为假,右边不执行
||(短路或),如果左边为假,右边执行;如果左边为真,右边不执行
区别
&与&&
&(逻辑与),无论左边真假,右边都要执行
&&(短路与),如果左边为真,右边执行;如果左边为假,右边不执行
|与||
|(逻辑或),无论左边真假,右边都要执行
||(短路或),如果左边为假,右边执行;如果左边为真,右边不执行
应用
无论使用哪个运算符,对最终的运算结果时候没有影响的。推荐平时多使用 && ,因为它效率更高些。
代码示例
public class Test
public static void main(String[] args)
/**
* 逻辑运算符,结果为boolean类型
* & 逻辑与运算 并且,多个条件同时为true,结果才为true,否则为false
* | 逻辑或运算 或者,全部条件同时为false时,结果才为false,否则为true
* && 短路与运算 当第一个条件为false时,后面的条件都不会进行判断,提高效率
* || 短语或运算 当第一个条件为true时,后面的条件都不会进行判断,提高效率
* ^ 逻辑异或运算
* ! 逻辑非运算 非 条件为true时,结果为false
*/
boolean b = 10>20 & 20>30; //false false
System.out.println(b);
boolean b1 = 10>20 & 20<30; // false true
System.out.println(b1);
boolean b2 = 20>10 & 30>20; // true true
System.out.println(b2);
boolean c = 10>20 | 20>30; // false false
System.out.println(c);
boolean c1 = 10<20 | 20>30; // true false
System.out.println(c1);
int age = 10;
boolean d = age >= 20 && (age++)<=10;
System.out.println(b1);
System.out.println(age);//10
boolean d1 = age >=10 && (age++) <= 11;
System.out.println(d1);
System.out.println(age);//11
以上是关于Java 逻辑运算符与短路逻辑运算符的主要内容,如果未能解决你的问题,请参考以下文章