课时18:Java运算符(逻辑运算符)
摘要:
1. 范例:观察非操作
2. 与操作
3. 或操作
关系运算符中最重要的是逻辑运算。
逻辑运算主要就是三类:与、或、非(!)。
01.范例:观察非操作
输入System.out.println(10 > 20)
编译执行结果如下。
在10前加一个!,输入System.out.println(!10 > 20)
,编译执行结果如下报错。
修改System.out.println(!(10 > 20))
,编译执行结果。
在逻辑运算之中最为麻烦的部分就是与和或两种操作,因为其各有两种写法:
与操作:&、&&;
或操作:|、||。
02.与操作
1、与操作:在进行多个条件判的时候,只有所有的条件都满足了才可以进入;
输入System.out.println(10 / 0)
,编译执行结果报错算术异常。
10/0是无穷大,内存被占满,会死机。可以在单片机等尝试10/0.
输入
if (1 > 2 & 10 /0 == 0){ System.out.println(“条件满足!”); }
编译执行结果报错。
意味着现在两个条件都判断了,但是当使用”&”时明确的表示多个条件都需要判断,可是如果前面已经有条件返回了false。后面即便有几十万个true,最终结果也是false,所以理论上后续的判断不应该再执行了,那么就可以使用”&&”(短路与)。
输入
if (1 > 2 && 10 /0 == 0){ System.out.println(“条件满足!”); }
编译执行结果。
第一个条件不满足,后续就不判断,所以没有报错。所以短路与比单与性能要好。
03.或操作
2.或操作:或操作的特点若干个判断条件只要有一个是true,那么最终的结果就是true,不管后面有多少个false。
输入
if (1 != 2|10 /0 == 0){ System.out.println(“条件满足!”); }
编译执行结果报错。
再使用短路或,输入
if (1 != 2 || 10 /0 == 0){ System.out.println(“条件满足!”); }
编译执行结果正常。
从此以后所编写的逻辑运算之中,都使用&&和||进行操作。