首页天道酬勤短路运算机制的运算符,举例说明逻辑运算符的短路特性

短路运算机制的运算符,举例说明逻辑运算符的短路特性

张世龙 08-06 18:25 116次浏览

逻辑运算包括:与、或、非、异或。共6种运算符。true 表示真。false 表示假。

一、逻辑运算符

下表列出了逻辑运算符:

操作符

描述

&&,&

逻辑与运算符。当且仅当两个操作数都为真,结果才为真。

||,|

逻辑或操作符。当且仅当两个操作数都为假,结果才为假。

!

逻辑非运算符,又称取反运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。

^

异或运算符。两个操作数不相同则为true,相同则为false

比较结果图:

二、逻辑运算符的短路

&&、|| 这两个运算符带短路功能。

何为短路功能?短路就是当执行了一部分运算之后,表达式的运算结果已经出来了,没有必要再执行后续运算了。

如 a=true , b=false, 当执行a || b运算时,只要a为真,则表达式结果必然为真,无论b是 true 还是 false 。

&、| 这两个运算符不带短路功能。他两的运算结果跟“ && || ”的运算结果是一致的,只是过程不同。

代码演示:

public class HelloWorld {

public static void main(String[] args) {

//不带短路

System.out.println("不带短路");

System.out.println(trueMethod() | falseMethod()); // 两个方法都执行,输出true

//带短路

System.out.println("带短路");

System.out.println(trueMethod() || falseMethod()); // 只执行trueMethod方法,输出true。falseMethod方法未执行

boolean a=false;

boolean b=true;

//异或

System.out.println("异或");

System.out.println(a^b); //输出true

//取反

System.out.println("取反");

System.out.println(!a); //输出true

//与运算

System.out.println("与运算");

System.out.println(a&&b); //输出false

//或运算

System.out.println("或运算");

System.out.println(a||b); //输出true

}

static boolean trueMethod() {

System.out.println("---执行了trueMethod方法");

return true;

}

static boolean falseMethod() {

System.out.println("---执行了falseMethod方法");

return false;

}

}

总结:

1. 逻辑运算有四种类型,与、或、非、异或。

2. &&、|| 操作符有短路功能,& 、| 操作符无短路功能

3. 通过演示代码深入理解逻辑运算符的短路功能

java 位运算符,java位运算符号 java运算符的含义,java位运算符与逻辑运算符的不同