短路逻辑运算符——Java学习笔记

短路逻辑运算符有哪些:

&&——代表短路与
|| —— 则代表短路或
! —— 代表非

& 表示按位与,
无论什么情况都会同时计算运算符两边的表达式

&& 表示短路与
如果前面的表达式为false,那么无论后面的表达式结果如何,
都不会去计算后面表达式的值。因为后面表达式的值不会影响结果

所以, System.out.println((1>2) && (5/0>1))
这样的代码在编译时也不会出现编译错误,因为短路与(&&)判定了运算符左边表达式得到的值为false,所以这个输出的结果就已经是false了,不需要计算右边的表达式。

同时注意:在实际使用中我们很少使用按位与,更多的是使用短路与

|| 表示短路或
如果运算符的左右部分有一侧的结果为true,那么这个表达式的输出结果就会是true,当有一个部分为true的时候,另一部分的表达式将不会被运行和计算。

所以, System.out.println((1<2) || (5/0>1))
这样的代码在编译时也不会出现编译错误,因为短路或(||)判定了运算符左边表达式得到的值为true,所以这个输出的结果就已经是true了,不需要计算右边的表达式

!:取反
当!的个数是奇数个的时候,结果相反
当!的个数是偶数的时候,结果不变

可能会遇到的面试题:

& 与 && 的区别:

  1. & 表示按位与,无论什么情况都会同时计算运算符两边的表达式
  2. && 表示短路与,如果前面的表达式为false,那么无论后面的表达式结果如何,都不会去计算后面
    表达式的值。因为后面表达式的值不会影响结果
  3. && 开发中使用,&基本不使用
  4. &常用与位运算操作,效率高

你可能感兴趣的:(Java学习笔记,java)