ava中的逻辑运算符包括逻辑与&,逻辑或|,逻辑非!逻辑异或^,除此之外还有几个比较相似的&&短路与,||短路或。
那么这几个逻辑运算符到底有什么意思呢?下面我们来看看
首先看逻辑与&的用法,只有两个都为真,结果为真,如果看如下代码
int a = 20;
int b = 5;
if(a>10&b>10){
System.out.println("true");
}else{
System.out.println("false");
}
输出false
同样|,只要有一个为真就是真
if(a>10|b>10){
System.out.println("true");
}else{
System.out.println("false");
}
输出true
!的作用是取反
boolean a = true;
if(!a){
System.out.println("true");
}
接下来再看看短路与&&和短路或||
int a = 10;int b = 20;
if(a>10&&b++>10){
System.out.println(true)
}
System.out.println(b);
看看b的值是多少呢,这个时候很多人会答错,b的值最终还是20
在这里由于第一个a>10为false,所以这个表达式为false,这样就不会执行后面的b++操作了,相当于把b++给短路了,所以叫短路与。同样短路或的作用是如果第一个为真,那么整个表达就为true,就把第二个表达式短路了。所以叫短路或。