java深入解析-第2章 运算符与表达式2
来源:互联网 发布:java ee jdk下载 编辑:程序博客网 时间:2024/05/16 19:45
1、int类型占用4字节,32位,而long类型占用8字节,64位。3种移位运算符,<<、>>和无符号右移>>>,当左侧操作数为int类型或long类型时,如果右侧操作数大于31或63,系统会做如下处理:
- 若左侧为int,右侧操作数如果是负数先转换成补码,与掩码0x1f做与运算,也就是只有低五位是有效的,然后左侧操作数再移动相应的位数。同理,左侧为long时,是取6位有效。
2、乘除与移位不完全一样。如果不能整除,结果都是向0舍入的,也就是向0的方向取值。具体情况如表:
数值/操作乘以2的n次方与左移n位除以2的n次方与右移n位正数(可以整除)相等(无舍入)相等(无舍入)正数(可以整除)相等(无舍入)相等(都向下舍入)0相等(无舍入)相等(无舍入)负数(可以整除)相等(无舍入)相等(无舍入)负数(不能整除)相等(无舍入)相等(相除向上舍入,移位向下舍入)3、>>>位无符号右移运算符,其余>>不同的是,>>>是以0来填补左侧移出的空位,而>>是以符号位来填补左侧移出的空位。如果是负数,>>>就可能移出正数值来。
4、一个变量x异或另一个变量y两次,结果的值为x。异或运算可以交换两个变量的值,并且这种方式比相加交换的方式更可取。
- x=x^y; y=x^y; x=x^y
5、有关switch:
- switch表达式可以是byte、short、char、int、Byte、Short、Character、Integer、String或枚举类型。
- case表达式必须是常量表达式或枚举常量名,并且其类型尅赋值给switch表达式类型。
- switch表达式的类型为基本数据类型的包装类型时,将包装类型拆箱为基本数据类型。
- 当switch类型为枚举类型时,会创建一个匿名类来辅助完成。
- 当switch类型为String类型时,将switch语句拆分为两个switch语句,分别为String对象的哈希码及临时变量来辅助完成。
0 0
- java深入解析-第2章 运算符与表达式
- java深入解析-第2章 运算符与表达式2
- 第2章 类型、运算符与表达式
- 第2章 类型、运算符与表达式(笔记)
- 第2章 运算符&表达式&数据类型
- 第4章、运算符与表达式
- java深入解析-第1章 基本概念2
- C++ 基础知识点 一第2章 基本数据类型、运算符与表达式
- java运算符与表达式
- Java运算符与表达式
- Java运算符与表达式
- java运算符与表达式
- JAVA:运算符与表达式
- java运算符与表达式
- 第04章:运算符、表达式与语句
- 第05章:运算符、表达式与语句
- java 第一天 运算符、表达式、语句
- JAVA巧用三目运算符 <表达式1>?<表达式2>:<表达式3>
- iptables 详解
- 设计模式-单例模式
- 【坑】JSP中使用jsp:param传入参数的时候出现中文乱码
- NAT网络下TCP连接建立时可能SYN包被服务器忽略-tcp_tw_recycle
- Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库
- java深入解析-第2章 运算符与表达式2
- cannot be resolved to a type错误
- poj 2029 Get Many Persimmon Trees
- 傅里叶变换
- MySQL详解(16)-----------海量数据建议
- iOS开发的经典博客和文章汇总
- 插曲:BigDecimal
- app应用运行中,自动监测手机通讯录的改变,达到同步更新
- 状态管理-Session