J2SE基础-java中的强制类型转换
来源:互联网 发布:淘宝一件代发下单 编辑:程序博客网 时间:2024/05/21 14:43
数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中 “ 悄然 ” 进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。
自动数据类型转换
自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下:
低 ---------------------------------------------> 高
byte,short,char-> int -> long -> float -> double
运算中,不同类型的数据先转化为同一类型,然后进行运算,转换规则如下:
操作数 1 类型
操作数 2 类型
转换后的类型
byte 、 short 、 char
int
int
byte 、 short 、 char 、 int
long
long
byte 、 short 、 char 、 int 、 long
float
float
byte 、 short 、 char 、 int 、 long 、 float
double
double
强制数据类型转换
强制转换的格式是在需要转型的数据前加上 “( )” ,然后在括号内加入需要转化的数据类型。有的数据经过转型运算后,精度会丢失,而有的会更加精确
C:long → float 无须强制转换(这个最选项容易出错),正确。
float占4个字节为什么比long占8个字节大呢,因为底层的实现方式不同。
浮点数的32位并不是简单直接表示大小,而是按照一定标准分配的。
第1位,符号位,即S
接下来8位,指数域,即E。
剩下23位,小数域,即M,取值范围为[1 ,2 ) 或[0 , 1)
然后按照公式: V=(-1)^s * M * 2^E
也就是说浮点数在内存中的32位不是简单地转换为十进制,而是通过公式来计算而来,通过这个公式虽然,只有4个字节,但浮点数最大值要比长整型的范围要大。
阅读全文
0 0
- J2SE基础-java中的强制类型转换
- Java中的强制类型转换
- Java中的强制类型转换
- Java中的强制类型转换
- java中的强制类型转换
- Java中的强制类型转换
- Java 中的强制类型转换
- java中的强制类型转换
- Java中的强制类型转换
- Java基础:Java 强制类型转换
- Java语言基础(类型提升&强制转换)
- Java 中的强制类型转换运算符
- Java中的equals和强制类型转换
- Java 中的强制类型转换运算符
- Java中的类型转换与强制类型转换的实现
- java中的自动类型转换和强制类型转换
- java强制类型转换
- JAVA强制类型转换
- AtomicInteger
- Redis缓存数据类型
- [S3-E440]Angular 开发者常犯的错误
- 大数据组件Shell工具分享(storm redis es kafka flume zookeeper)
- 一个简单的零配置命令行HTTP服务器
- J2SE基础-java中的强制类型转换
- React学习(二):组件的生命周期及数据流
- java常用类练习03(给定一段文字判断某个字出现的次数、过滤敏感词语、随机产生产品固定编号)
- 远程桌面无法拷贝大文件
- oracle 中文排序
- angular JS购物车删除增加
- springboot
- server library[unbound] 服务未绑定解决办法
- jsp页面中下拉框选择后,另一个input框数值改变,如何去实现