Java逻辑运算符与为运算符

ε祈祈猫儿з 提交于 2019-12-02 14:37:30

Java逻辑运算符与位运算符

逻辑运算符(boolean数据)

&& 称为逻辑与运算,仅当两个数都为真(即true)时,结果才为真

|| 称为逻辑或运算,其中一个数为真(即true)时,结果为真

! 称为逻辑非运算,将原数取反

A B A&&B A||B !A
true true true true falsse
true false false true fase
false true false true true
false false false false rue

位运算符(整型和字符型)

~  “按位非”  ~A  将A按比特位取反,规则:遇1则0,遇0则1

&  “按位与”  A&B  按A与B的比特位取与, 规则:相对位全1则1,否则为0

|  “按位或”  A|B  按A与B的比特位取或, 规则:相对位全0则0,否则为1

^  “按位异或”  A^B  按A与B的比特位取异或, 规则:相对位相同为0,否则为1

A B ~A A&B A|B A^B
1 1 0 1 1 0
1 0 0 0 1 1
0 1 1 0 1 1
0 0 1 0 0 0

逻辑运算符与为运算符的区别

1、逻辑运算符是逻辑运算,仅能用于boolean(布尔型)运算,而位运算符是比特位运算,可用于整型和字符型,也可以用作逻辑运算;

2、逻辑运算符有短路的情况,就是(表达式1)||(表达式2);如果 表达式1 为true,则会直接给出结果true,而 表达式2 不会执行,直接跳过;同理,(表达式1)&&(表达式2),如果 表达式1 为false,则会直接给出结果false,而 表达式2 还是不执行,会直接跳过;而 & 和 | 则两个表达式都会执行并进行判断;如下图:

左边是代码,右边是执行结果,我们可以轻易看出 || 后半部分没有执行,所以第一次输出b,b的值还是0;而 | 的前、后两部分都执行了,故输出的a和b都是1; && 和 & 也是这样。

参考链接:

https://blog.csdn.net/Liuxiaoyang1999/article/details/90575185

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!