- 浏览: 596259 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
java移位运算符不外乎就这三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
1、 左移运算符
左移运算符<<使指定值的所有位都左移规定的次数。
1)它的通用格式如下所示:
value << num
num 指定要移位值value 移动的位数。
左移的规则只记住一点:丢弃最高位,0补最低位
左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方
2、 右移运算符
右移运算符<<使指定值的所有位都右移规定的次数。
1)它的通用格式如下所示:
value >> num
num 指定要移位值value 移动的位数。
右移的规则只记住一点:符号位不变,左边补上符号位 负数补1 正数补0
右移一位相当于除2,右移n位相当于除以2的n次方。
3、无符号右移
无符号右移运算符>>>
它的通用格式如下所示:
value >>> num
num 指定要移位值value 移动的位数。
无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位
无符号右移运算符>>> 只是对32位和64位的值有意义
4.注意移位运算符的优先级在加减法只下,在比较运算符之上。
1、 左移运算符
左移运算符<<使指定值的所有位都左移规定的次数。
1)它的通用格式如下所示:
value << num
num 指定要移位值value 移动的位数。
左移的规则只记住一点:丢弃最高位,0补最低位
左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方
2、 右移运算符
右移运算符<<使指定值的所有位都右移规定的次数。
1)它的通用格式如下所示:
value >> num
num 指定要移位值value 移动的位数。
右移的规则只记住一点:符号位不变,左边补上符号位 负数补1 正数补0
右移一位相当于除2,右移n位相当于除以2的n次方。
3、无符号右移
无符号右移运算符>>>
它的通用格式如下所示:
value >>> num
num 指定要移位值value 移动的位数。
无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位
无符号右移运算符>>> 只是对32位和64位的值有意义
4.注意移位运算符的优先级在加减法只下,在比较运算符之上。
int a = 5; int b = 10; int c = a >> 2 + b >> 2; System.out.println(c);//0
发表评论
文章已被作者锁定,不允许评论。
-
java WeakHashMap学习(key是弱引用)
2018-06-21 09:31 1226在Java集合中有一种特殊的Map类型:WeakHashMap ... -
java HashMap TreeMap(key顺序) LinkedHashMap(插入顺序)学习
2018-06-07 10:27 944java为数据结构中的映射定义了一个接口java.util.M ... -
java RESTful 详解
2018-04-27 11:35 640(1)每一个URI代表一种资源,独一无二; (2)客户端 ... -
java 通过HttpsUrlConnection访问接口数据
2018-04-19 11:25 981server: ssl: key-stor ... -
java 使用多线程的场景总结
2018-04-10 14:35 1695在一个高并发的网站中,多线程是必不可少的。下面先说一下多线程在 ... -
java Enum枚举设置
2018-04-10 10:55 476/** * 数据状态:0:无效,1:有效 **/ ... -
java RestTemplate访问restful服务
2018-03-01 15:02 1611REST的基础知识 当谈论REST时,有一种常见的错误就是将其 ... -
java FYOpenApi实现短信发送
2018-01-02 17:10 11601.配置文件 sms.OpenUrl = http://s ... -
java JSONObject序列化包含Date类型数据的Java对象
2017-12-26 16:31 1611如果Date.class无法进行转换则使用Timestamp. ... -
java 用HttpsURLConnection进行传递中文时错误总结
2017-12-07 16:42 649传递中文时需要用Writer而不是OutputStream ... -
java 内存泄漏
2017-11-27 13:51 4901.内存溢出 out of memory ... -
ActiveMQ 三种发送消息方式(同步,异步,单向)
2017-11-17 10:25 2431MQ 发送普通消息有三种实现方式:可靠同步发送、可靠异步发送、 ... -
java Guava ListenableFuture实现线程回调功能
2017-11-14 10:17 1773java Future具有局限性。在实际应用中,当需要下 ... -
java Curator实现分布式锁
2017-09-05 14:39 1085Curator实现分布式锁主要依赖于zookeeper ... -
java Guava工具集学习(强大)
2017-09-05 10:28 429import java.util.Iterator ... -
java CyclicBarrier进行并发编程
2017-08-25 15:44 665CyclicBarrier允许一组线程相互等待达到一个公共的障 ... -
java 几种性能优化的总结
2017-08-23 14:08 3171、使用StringBuilder 一般 ... -
java 使用kyro进行高性能序列化对象和集合
2017-08-23 14:05 2145import java.io.ByteArrayInp ... -
java 对重复电话号码进行排除的优化(排序和前后对比)
2017-08-22 14:14 7851.先对10万数据排序; 2.对比前后两条数据 ; 3.筛 ... -
ActiveMQ 结合Spring进行数据同步
2017-07-19 15:27 580注意事项hibernate配置文件必须设置自动提交否则不能插入 ...
相关推荐
Java移位运算符详解实例 Java移位运算符是Java语言中的一种基本运算符,用于对二进制数进行位移操作。移位运算符主要包括左移位运算符()、右移位运算符(>>>)和带符号的右移位运算符(>>)。这些运算符可以单独...
#### 一、Java左移位运算符详解 在Java编程语言中,位运算符主要用于处理二进制位的操作。其中,左移位运算符(`)是一种非常重要的位操作,它允许我们将一个整数的二进制表示向左移动指定的位数。通过本章节的学习...
### Java语言运算符优先级详解 #### 运算符概述 在Java编程语言中,运算符是用来执行特定操作的关键符号。这些操作包括算术运算、比较运算、逻辑运算以及位运算等。为了确保代码能够按照程序员预期的方式执行,Java...
5. **移位运算符**: - `(左移)、`>>`(右移)、`>>>`(无符号右移)。 - 结合性是从左向右,即先处理左边的操作数。 6. **比较运算符**: - `、`、`>`、`>=`、`instanceof`。 - `instanceof`用于判断一个...
### Java移位运算详解 #### 一、基本概念与数据类型范围 在深入探讨Java中的移位运算之前,我们先来了解一下基本的数据类型及其范围。 ##### 1. 基本类型取值范围 Java中提供了多种基本数据类型,如`byte`、`...
移位运算符用于改变整数中二进制位的位置,包括左移 (`), 有符号右移 (`>>`), 无符号右移 (`>>>`)。 - **左移 (`)**:将二进制位向左移动指定数量的位置。 - **有符号右移 (`>>`)**:将二进制位向右移动指定数量的...
### Java中常见的几种运算符详解 #### 一、算术运算符 在Java中,算术运算符是最基本也是最常用的运算符之一。主要包括以下几种: - **加法(+)**:用于两个数值的相加。 - **减法(-)**:用于两个数值的相减。...
3.4.6 移位运算符49 3.4.7 其他操作符50 3.5 表达式52 3.5.1 表达式简介52 3.5.2 表达式的类型和值52 3.5.3 表达式的运算顺序52 3.5.4 优先级和结合性问题52 3.6 选择结构54 3.6.1 顺序语句54 3.6.2 选择条件语句54 ...
#### 二、位运算符详解 ##### 1. 移位运算符(Shift Operators) - **算术右移 (`>>`)**:将二进制数的所有位向右移动指定的位置数,左边空出的高位用符号位填充。 - 示例:`-5 >> 3 = -1` - `-5` 的二进制表示...
4. **位运算符**:用于按位操作整数,如按位与(&)、按位或(|)、按位异或(^)以及移位运算符(、>>、>>>)。 5. **赋值运算符**:包括简单赋值(=)和复合赋值运算符(如+=、-=、*=等)。 #### 五、类型转换 ...
- **主要内容**:介绍位运算符(如移位运算符、按位或等)的应用场景,以及如何利用位运算符进行变量交换。 - **学习目标**:掌握位运算符的操作方式,了解位运算在特定场景下的优势。 9. **三目运算符与优先级**...
=`, `, `>`, `, `>=`)、移位运算符(`, `>>`, `>>>`)以及算术运算符(`+`, `-`, `*`, `/`, `%`)。 ##### Expression3(表达式3) - **定义**:表达式3是表达式的最底层,包含前缀运算符、后缀运算符和选择器等...
移位运算符 4. 比较运算符 5. 按位与运算符 6. 按位异或运算符 7. 按位或运算符 8. 三目运算符 9. 赋值运算符 #### 五、Java类成员的访问控制权限 - 从宽到严依次为:`public` > `protected` > `默认...
12. **移位运算符**:`>>`是右移运算符,示例代码中的89 >> 1相当于89除以2,结果是44。 13. **Applet**:Applet是Java小应用程序,需要在支持Java的浏览器中运行。`paint()`方法用于绘制Applet的内容,`init()`...
Java提供了三种移位运算符:`, `>>`, 和 `>>>`。 - **左移运算符()**: 将二进制码整体向左移动指定的位数,高位被丢弃,低位补0。 - **右移运算符(>>) (带符号)**: 将二进制码整体向右移动指定的位数,高位(符号位...
- **移位运算符**: - Java提供了几种位运算符,包括左移`、右移`>>`以及无符号右移`>>>`。 - 左移运算符`将操作数的二进制位向左移动指定的位置数。 - 右移运算符`>>`:将操作数的二进制位向右移动指定的位置数...
利用左移位运算符,2的结果等于8,这是最高效的计算方式。 10. **跳出多重嵌套循环** 在Java中,可以使用break语句直接跳出最外层循环,或者在有返回值的方法中使用return语句结束方法执行,间接跳出循环。 11. ...
10. 按位移位运算符:`>>`是算术右移操作符,将数字的二进制表示向右移动指定位数;`>>>`是无符号右移操作符,同样向右移位,但高位用0填充。因此,A和D是正确的。 11. 数据类型赋值:在Java中,合法的赋值语句包括...
在Java中,可以使用位移运算符`>>>`和`来实现行移位,使用异或操作符`^`来实现列混淆。 5. **轮密钥加** 轮密钥加是将密钥与当前轮的中间结果进行异或,增加算法的不可预测性。在Java中,这可以通过简单的异或操作...