Java学习(三)逻辑运算符、位运算符

逻辑与&

当两个条件都为true时,结果为true

(3>2)&(3>1) //前后都为true,所以结果为true
(3<2)&(3>1) //前为false后为true,有一个false,所以结果为false
(3>2)&(3<1) //前为true后为false,有一个false,所以结果为false
(3<2)&(3<1) //前后都为false,所以结果为false

逻辑或|

当两个条件有一个为true时,结果为true

(3>2)|(3>1) //前后都为true,所以结果为true
(3<2)|(3>1) //前为false后为true,有一个true,所以结果为true
(3>2)|(3<1) //前为true后为false,有一个true,所以结果为true
(3<2)&(3<1) //前后都为false,所以结果为false

逻辑异或^

前后结果不一致时,结果为true

(3>2)|(3>1) //前后都为true,前后一致,所以结果为false
(3<2)|(3>1) //前为false后为true,前后不一致,所以结果为true
(3>2)|(3<1) //前为true后为false,前后不一致,所以结果为true
(3<2)&(3<1) //前后都为false,前后一致,所以结果为false

逻辑非!

将原来的结果取反

!(3>2) //原本结果为true 取反后结果为false
!(3<2) //原本结果为false 取反后结果为true

短路与&& 短路或||

什么情况下才会发生短路?当前面的值结果决定最终结果时才会发生短路

短路的是什么?短路的是决定最终结果的条件后面的所有计算过程

只有当发生了短路的情况,相比于逻辑与、逻辑或性能要好一点,否则并没有区别

从执行结果来看,短路与或与逻辑与或并没有区别

短路与&&

当两个条件都为true时,结果为true

当第一个条件为false时,后面的条件将不会再执行

短路或||

当两个条件有一个为true时,结果为true

当第一个条件为true时,后面的条件将不会再执行

二、位(bit)运算

用来计算二进制的

将两个数转换成二进制,竖着对应位置进行&|^的计算,将计算后的二进制转化为十进制

按位与&

按位或|

按位异或^

按位非~

了解一下计算机中的原码、反码、补码

在正数中,反码与补码是其本身如下:

6:

原码:00000000 00000000 00000000 00000110

反码:00000000 00000000 00000000 00000110

补码:00000000 00000000 00000000 00000110

在负数中:

-6:

原码:10000000 00000000 00000000 00000110

负数的反码是在其原码的基础上, 符号位不变,其余各个位取反

反码:11111111 11111111 11111111 11111001

负数的补码是在反码的基础上 1

补码:11111111 11111111 11111111 11111010

注意:计算机中,不管是整数还是负数,都是以补码的形式来存储

按位左位移<<

将二进制位数左移,舍弃超出的并以0填充空白

相当于乘以2的左移位数次幂

如:6<<2 = 6*2²

按位右位移>>

将二进制位数右移,并保留符号位

相当于除以2的右移位数次幂并向下取整

按位右位移(无符号)>>>

将二进制位数右移,不保留符号位,使用0补位

夜河资源网提供的所有内容仅供学习与交流。通过使用本站内容随之而来的风险以及法律责任与本站无关,所承担的法律责任由使用者承担。
一、如果您发现本站侵害了相关版权,请附上本站侵权链接和您的版权证明一并发送至邮箱:yehes#qq.com(#替换为@)我们将会在五天内处理并断开该文章下载地址。
二、本站所有资源来自互联网整理收集,全部内容采用撰写共用版权协议,要求署名、非商业用途和相同方式共享,如转载请也遵循撰写共用协议。
三、根据署名-非商业性使用-相同方式共享 (by-nc-sa) 许可协议规定,只要他人在以原作品为基础创作的新作品上适用同一类型的许可协议,并且在新作品发布的显著位置,注明原作者的姓名、来源及其采用的知识共享协议,与该作品在本网站的原发地址建立链接,他人就可基于非商业目的对原作品重新编排、修改、节选或者本人的作品为基础进行创作和发布。
四、基于原作品创作的所有新作品都要适用同一类型的许可协议,因此适用该项协议, 对任何以他人原作为基础创作的作品自然同样都不得商业性用途。
五、根据二〇〇二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可不经软件著作权人许可,无需向其支付报酬!
六、鉴此,也望大家按此说明转载和分享资源!本站提供的所有信息、教程、软件版权归原公司所有,仅供日常使用,不得用于任何商业用途,下载试用后请24小时内删除,因下载本站资源造成的损失,全部由使用者本人承担!