java中的逻辑运算符和位运算符
来源:互联网 发布:淘宝闲鱼小二介入草率 编辑:程序博客网 时间:2024/05/17 03:46
逻辑运算符
& AND(与),左右全为真时,结果才为真,其余为假
| OR(或),左右全为假时,结果才为假,其余为真
^ XOR(异或),左右相同时为假,左右不相同时为真
! NOT(非),取反
&& AND(短路),同&
|| OR(短路),同I
“&”和“&&”的区别:
- 单&时,左边无论真假,右边都进行运算;
- 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处:当左右都为true时,结果为false。
位运算符
“<<”,左移, 空位补0,被移除的高位丢弃,空缺位补0。 比如:3 << 2 = 12 ‐‐> 3*2*2=12
“>>”,右移,被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。比如:3 >> 1 = 1 ‐‐> 3/2=1
“>>>”,无符号右移,被移位二进制最高位无论是0或者是1,空缺位都用0补。比如:3 >>> 1 = 1 ‐‐> 3/2=1
“&”,与运算,二进制位进行&运算,只有1&1时结果是1,否则是0。比如:6 & 3 = 2
“|”,或运算,二进制位进行 | 运算,只有0 | 0时结果是0,否则是1。比如: 6 | 3 = 7
“^”,异或运算,任何相同二进制位进行 ^ 运算,结果是0; 1^1=0 , 0^0=0;不相同二进制位 ^ 运算结果是1。比如:1^0=1 , 0^1=1。 6 ^ 3 = 5
“~”,反码,各位取反,结果为原来数的相反数-1.比如: ~6 = ‐7
交换两个变量值的方式
方法一:通过第三方变量(一般使用该方法)。
int temp;
temp = n;
n = m;
m = temp;
方法二:不用第三方变量
n = n + m;//如果n和m的值非常大,容易超出int范围。
m = n - m;
n = n - m;
方法三:异或的方法
n = n ^ m;
m = n ^ m;//(n^m)^m;
n = n ^ m;//n ^ (n ^ m)
- java中的逻辑运算符和位运算符
- java中的逻辑运算符与位运算符
- C语言中的逻辑运算符和位运算符总结
- C语言中的逻辑运算符和位运算符
- C语言中的逻辑运算符和位运算符总结
- Java中的位运算符与逻辑运算符的区别(&和&&,|和||)
- Java逻辑运算符和位运算符详解
- java的逻辑运算符和位运算符
- Java逻辑运算符和位运算符详解
- java逻辑运算符位运算符总结
- 位运算符和逻辑运算符
- 逻辑运算符和位运算符
- 逻辑运算符和位运算符
- java 位运算符 位逻辑运算符 和 移位运算符
- c++位运算和逻辑运算(&&和||:逻辑运算符;&和|:按位运算符)
- Java学习基础:运算符和表达式(算数运算、关系运算、逻辑运算、位运算、条件运算、赋值运算)
- Java中的比较运算符和逻辑运算符
- C语言中的位运算和逻辑运算
- Kotlin系统化学习系列文章(所有文章的链接)
- Maven配置Tomcat服务器
- 深入理解SP、LR和PC
- uCOS在51单片机上的移植心得
- python3删除sina微博
- java中的逻辑运算符和位运算符
- OSTaskStkInit():任务堆栈结构的初始化
- C++二叉树递归遍历
- HDU 1847 Good Luck in CET-4 Everybody!
- UC/OS-II的详细移植笔记 两种处理器的移植比较(S1C33209&&S3C44BOX)
- 计算机时间:1970年1月1日
- 图片匀速淡入淡出效果(纯js)
- 一类排列组合计数问题
- jsp中<c:forEach varStatus="status">的属性值问题