JAVA第三弹(运算符<二>)
来源:互联网 发布:mac os x 10.12 iso 编辑:程序博客网 时间:2024/05/18 12:38
----------------------android培训、java培训、期待与您交流! ----------------------
JAVA第三弹(运算符<二>)
——————(个人见解,有错误的地方欢迎批评指正)—————
(如有雷同纯属巧合)
<1>位运算
位运算就是逐位运算,例如:01001101与10110011进行&(AND)运算,运算方式如下:
Java提供了7个位运算符,分别是:&(与),|(或),^(异或),~(补码),<<(左移),>>(右移),>>>(无符号右移)
例:
System.out.println(1&0);//结果为:0System.out.println(0&1);//结果为:0System.out.println(0&0);//结果为:0System.out.println(1&1);//结果为:1System.out.println(1 | 0);//结果为:1System.out.println(0 | 1);//结果为:1System.out.println(1 | 1);//结果为:1System.out.println(0 | 0);//结果为:0System.out.println(0 ^ 0);//结果为:0System.out.println(1 ^ 0);//结果为:1System.out.println(0 ^ 1);//结果为:1System.out.println(1 ^ 1);//结果为:0
而补码(~)属于一元运算符,可以这么理解:加一取反。例:0000 0001通过补码运算会变成1111 1110;
例:
int i = 10;System.out.println( ~ i );
程序输出为:-11.
左移(<<),java中左移运算符会将所有位往左移指定位数,左边高位被挤出去的位会被丢弃,右边的低位则补上0;
例:
int i = 2;System.out.println(i<<1);System.out.println(i<<2);
程序的输出结果为:4,8
图解:
右移(>>)则相反,会将所有的位往右挤,右边低位被挤出去的位数被丢弃,而左边的高位则补上原来的位,比如最左边是0则补0,左边是1则补1。
例:
int a = 2; int b = -2; System.out.println(a>>2); System.out.println(b>>2);
程序输出结果为:0 ,-1
图解:
至于无符号右移(>>>),和>>差不多,但是左边高位的补位,不管是1还是0,,全是补0。
<2>指定运算
指定运算符的作用基本上是写程序的时候减少一些代码的书写。
+= ,例:a += b,相当于a = a + b
-= ,例:a -= b ,相当于a = a - b
*= ,例:a *= b ,相当于 a = a * b
/= ,例:a /= b ,相当于 a = a / b
%= ,例:a %= b ,相当于 a = a % b
&= ,例:a &= b ,相当于a = a & b
|= ,例:a |= b ,相当于 a = a | b
^= ,例:a ^= b ,相当于 a = a ^ b
<<= ,例:a <<= b ,相当于 a = a << b
>>= ,例:a >>= b ,相当于 a = a >> b
>>>= ,例:a >>>= b ,相当于 a = a >>> b
----------------------android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
- JAVA第三弹(运算符<二>)
- 第三、Java的运算符
- 【Java】(二)运算符小结(赋值运算符)
- 位运算符介绍(二):Java位运算符
- 位运算符介绍(二):Java位运算符
- Java基础(二)运算符
- Java语法(二)运算符
- 疯狂JAVA讲义---第三章(下):运算符
- java第三课 运算符和表达式
- 第三章 运算符和表达式 java
- 读书笔记-疯狂Java讲义(第三版)第三章 数据类型和运算符
- 运算符(二)
- 运算符(二)
- Java回忆录(二)-------数据类型和运算符
- Java学习笔记(二)运算符及数组
- 第三章 运算符
- Java基础二:运算符和运算符的优先级
- Java入门第三季(二、字符串)
- 八款开源 Android 游戏引擎
- PS 照片,都是精华
- 关键字this
- 鼠标滑过遮罩高亮效果
- java设计模式
- JAVA第三弹(运算符<二>)
- 全分布式下安装hbase(使用hbase自带的zookeeper)
- Mac OS 安装Wget
- C# ListBox显示tooltip
- GUI系统之SurfaceFlinger(2)Gralloc与Framebuffer
- eclipse 或myeclipse中安装插件spket (用于javascript开发) ----- 安装与使用详细
- No Dialect mapping for JDBC type: -1异常
- activex控件注册的时候卡死
- iOS 静态类库项目的建立与使用,不错