大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
& | ~ ^ >> << && || !
运算符包括逻辑运算符与位运算符。
逻辑运算符针对的就是真假问题,或者说0 1 问题,也就是bool类型的。
位运算符重点在于位操作,也就是对每一位进行操作。下面逐个介绍。
&
- 当 & 两边是bool 类型的值时,该运算符作为逻辑运算符。作用如下:
当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
- 当 & 两边不是bool类型的时候,该运算符作为位运算符,将两边的值作为二进制展开,依次对每一位进行 按位与。作用如下:
11100101 & 01011010 = 01000000
&&
逻辑运算符,当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&& 与 & 的 都作为逻辑运算符的区别:
- 两个运算符运算结果一样。
- &&又叫短路与,如果左边位flase,那么该结果就已经出来了,则不会再计算右边的布尔表达式,从而提高效率。而&即使左边位flase,还是会计算右边的。所以如果左边位flase时,&&的效率高于&。
|
- 当两边是bool运算符时,该运算符作为逻辑运算符。作用如下:
只要两边的布尔表达式有一边为true,那么结果就为true,只有两边同时为false 的时候,结果才是false。
- 当 | 两边不是bool类型的时候,该运算符作为位运算符,将两边的值作为二进制展开,依次对每一位进行 按位或。作用如下:
11100101 | 01011010 = 11111111
||
逻辑运算符,只要两边的布尔表达式有一边为true,那么结果就为true,只有两边同时为false 的时候,结果才是false。
|| 与 | 的 都作为逻辑运算符的区别:
- 两者运算结果一样
- 使用短路或的时候,当发现左边的布尔表达式为true时,则不会运算右边的布尔表达式。使用单或的时候发现左边的布尔表达式为true,还是会运算右边布尔表达式。当左边位true时,|| 效率高于|
^
逻辑运算符,异或。也就是 只要两边的布尔表达式结果不一致,那么结果就为true,如果左右两边的布尔表达式一致,那么就为false。(相同为0,不同为1)。
例如:00000101 ^ 00000011 = 00000110
!
逻辑运算符,非运算符。非0为1,非1为0.
~ 位运算符,对每一位进行取反。
例如:00000111 取反 11111000
<<
移位运算符,左移。
一个操作数进行左移运算的时候,结果就是等于操作数乘以2的n次方,n就是左移的位数.
>>
移位运算符,右移。
一个操作数在做右移运算的时候,实际上就是等于该操作数除以2的n次方,n就是右移的位数。
? :
三元运算符
当使用三元运算符时,一定要定义一个变量来接受返回的结果,
使用方法:变量 = 表达式 ?正确 :错误
部分来自:http://blog.csdn.net/qq_34944851/article/details/52620454
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188573.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...