Java逻辑短路运算与位运算知识点总结
本周学习了Java逻辑运算符和位运算符,其中短路机制和二进制位运算是最容易混淆、考试高频出题的重点。我将逻辑运算、短路区别、位运算原理进行完整整理。
一、逻辑运算符分类(布尔运算)
逻辑运算符运算结果只有 true、false,共五种: & 、 | 、 && 、 || 、 !
1.短路与 &&
运算规则:全真才真,一假即假
短路特点:左边为 false,右边不执行
2.短路或 ||
运算规则:一真即真,全假才假
短路特点:左边为 true,右边不执行
3.逻辑与 &
运算规则:两边全 true 才为 true
特点:无短路,无论左边真假,右边一定执行
4.逻辑或 |
运算规则:两边全 false 才为 false
特点:无短路,左右两边全部执行
5.逻辑非 !
对布尔结果取反:true变false,false变true
二、短路与非短路核心区别(必考)
1. && 、|| :具备短路机制,效率高,开发常用
2. & 、| :无短路机制,所有表达式都会完整执行
短路做题口诀:
&&:遇假停止
||:遇真停止
&、|:无论如何,全部执行
短路代码示例:
int y = 0;
boolean b1 = false && ++y > 0; //左边false,短路,y不变,y=0
int x = 0;
boolean b2 = true || x++ > 0; //左边true,短路,x不变,x=0
非段落代码示例:
int y = 0;
boolean b3 = false & ++y > 0; //不短路,y++执行,y=1
三、& 和 | 的双重作用(重点难点)
&& 、|| 只能用于布尔判断,而 & 、| 有两种功能:
1.两边是布尔值 → 逻辑运算(无短路)
2.两边是数字 → 二进制位运算
四、位运算规则(二进制运算)
位运算针对数字的二进制 0、1 逐位计算:
1.按位与 &
规则:有0则0,全1才1
2.按位或 |
规则:有1则1,全0才0
3.按位异或 ^
规则:相同为0,不同为1
位运算简单示例:
3 的二进制:0011
5 的二进制:0101
3 & 5 = 0001(1)
3 | 5 = 0111(7)
3 ^ 5 = 0110(6)
五、移位运算符(二进制操作)
1.<< 左移:整体左移,右边补0,等价乘以2
2.>> 右移:整体右移,补符号位,等价除以2
3.无符号右移:左边统一补0
4.数字0移位任意次,结果仍为0
六、易错点总结
1.短路运算会跳过 ++ 、 -- ,变量不会改变
2.&& 优先级高于 || ,不能按阅读顺序判断
3.& | 不短路, && || 会短路
4. 只有 & | ^ 能做二进制位运算,短路运算符不行
七、学习总结
通过本次学习,我彻底区分了逻辑运算和位运算、短路与非短路的区别。短路机制是选择题高频陷阱,位运算是二进制底层基础。掌握这些知识点,能有效避免表达式运算错误,为后续条件判断、复杂逻辑代码打下基础。

浙公网安备 33010602011771号