JAVA的逻辑运算符,位运算符,三元运算符

JAVA的逻辑运算符,位运算符,三元运算符

逻辑运算符
逻辑运算符有哪些:

& (并且)   |(或者)  !()   ^(异或)   &&(短路与)   ||(短路或)

逻辑运算结果:

逻辑运算符的运算结果是布尔类型。

& 并且 
运算两端,只有左右两端同时为true,其最终结果才是true ,只要任意一端为false其最终结果都是false 

| 或者
运算两端,只要任意一端为true其最终结果就为true,只有运算两端都为false了其最终结果就是
false

!() 
取反 truefalse falsetrue

^(异或) 
运算两端,相同为false 不同为true
true^false 结果是 true  false^true 结果是true  true^true false^false 结果是false


&(并且) , |(或者)&&(短路与) , ||(短路或) 的区别
他们在运算结果上是没有区别的。只是在运算效率上有区别。

& 左右两端的表达式都需要执行
&& 当左端为false 右端的表达式就执行了
&& 当左端为true时,右端的表达式还是有执行的。

| 左右两端的表达式都需要执行。
|| 当左端为true时,右端的表达式就不执行了。
|| 当左端为false时,右端的表达是还是要执行的。
位运算符
位运算符 &()|()^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)
& | ^ 如果两端是数值,就是位运算符
& | ^ 如果两端是布尔类型,那就是逻辑运算符
注意事项:位运算是直接对二进制补码进行运算。运算效率高一些
&:00
|:11
^:相同则0,不同则1  //^ 一个数,被另一个数位异或两次该数不变,自己跟自己位异或 结果是0
~:按位取反 01 10 符号位也包含在内取反
<<:左移 被移除的高位丢弃,空位补0//把 << 左边的数据乘以2的移动次幂
>>:右移 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,高位补1//把 >> 左边的数据除以2的移动次幂
>>>:无符号右移 被移位二进制最高位无论是0或者是1,空缺位都用0补。
三元运算符
三元运算符
表达式?结果1:结果2
当表达式的结果为true时,返回结果1false时返回结果2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值