Java中数据类型转换问题
2023-09-27 14:25:18 时间
boolean类型不可以转换为替他的数据类型。
Java中byte(8位)、short(16位)、char三种类型的优先级是相同的,相同优先级之间是不能进行自动转换的(如果相互转换的话,必须强制类型转换),只能将低类型自动转换为高类型,例如,可以将byte自动转换为int类型。(char 在java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。 再将char类型的数据赋给高优先级类型时,这时会自动类型转换,并且将该char的unicode编码赋给高优先级类型的变量)
整型,字符型,浮点型的数据在混合运算中相互转换,转化时遵循以下原则:
容量小的类型自动转换为容量大的数据类型;数据类型按容量大小排序为:
1、byte,short,char-->int(32位)-->long(64位)-->float(32位)-->double(64位)
byte,short,char之间不会互相转换,他们三者和其他数据类型混合计算时首先会转换为int类型
2、容量大得数据类型转换为容量小得数据类型时,要加上强制转换符,但可能造成精度降低或溢出;
3、有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的哪一种数据类型,然后再进行计算。
4、实数常量(如:1.2)默认为double。
5、整数常量(如:123)默认为int。
#####值得注意的是:
数值间的相等比较,本质是比较他们二进制存储是否相等。例如:0.3f==0.3返回的是false(32位的2进制的0.3表示和64位的0.3表示是不同的);但是0.5f==0.5返回的是true(因为32位和64位的二进制表示是相同的)
相关文章
- java内存结构(执行时数据区域)
- Java数据类型转换
- 技术分享 | 数据持久化技术(Java)
- android jni C/C++ 层和java层 进程间共享数据
- Java项目如何导出数据为 PDF 文件?
- Java Reflection(二):Classes
- Java创建线程安全的方法
- 在java 7中捕获多个异常
- Java: mysql-connector-java
- [原]使用Fiddler捕获java的网络通信数据
- 【Harmony OS】【JAVA UI】鸿蒙系统中怎么使用 Parcel 进行存储数据或数据传递
- JAVA学长
- 【Java实习生】每日面试题打卡——操作系统篇
- Java的对象初始化过程
- java 的枚举变量只能使用枚举常量来初始化--带有关联数据的枚举
- Java学习-024-获取当前类名或方法名二三文
- 《大规模Java平台虚拟化与调优》—— 导读
- java数据校验Hibernate Validator
- 无人机航拍照片定位技术实现--含Java与Cesium实现
- 为什么说Java程序员到了必须掌握Spring Boot的时候?
- 用java查询HBase中某表的一批数据
- 用java解析在OpenStreetMap上下载的地图数据
- 【JAVA】泛型——对数据类型转换和数据存取方法的逐步优化过程
- Mycat(6):聊天消息表,按月分表 java客户端跨月查询数据
- java如何实现多继承(实现:子类中二个方法,分别继承不同父类)