基本数据类型转换
自动类型转换
1、Java 程序进行赋值或运算时,精度小的数据类型自动转换为精度大的数据类型
2、数据类型精度(容量)按大小排序
(1)char -> int -> long -> float -> double
(2)byte -> short -> int -> long -> float -> double
3、自动提升原则:混合多种数据类型运算,系统先自动将所有数据,转换成当前表达式中精度的最大数据类型,再运算
4、精度大的数据赋值给精度小的数据类型,会报错
5、byte、short 和 char 之间不会自动转换
6、byte、short、char 之间可以进行运算,但运算前先转换为 int
7、boolean 不参与转换
//正确,具体数值会先判断是否在该类型的范围内,再声明类型
byte b1 = 10;
//错误,变量赋值时,直接判断类型,以为 i2 已经被声明为 int,而 int 不能自动转换为 byte
int i2 = 10;
byte b2 = i2;
8、被 final 修饰的变量不会自动的改变类型,当两个 final 修饰的变量操作时,结果会根据左边变量的类型而转换
强制类型转换
1、自动类型转换的逆过程,数值要加上强制转换符:(数据类型)
(1)可能造成:精度降低、数据溢出
(2)当数据溢出截断后,是以补码形式存在
2、强制转换符只对最近的操作数有效,常用小括号提升优先级
//错误,只有10为int,10 * 3.5就转换为double
int x = (int) 10 * 3.5 + 6 * 1.5;
//正确,小括号内运算结果为44.0(double),然后再强制转换为int
int y = (int) (10 * 3.5 + 6 * 1.5);
3、char 类型可以保存 int 常量值,不能保存 int 变量值,需要强制转换
基本数据类型、String 类型相互转换
1、基本数据类型转 String 类型
(1)基本类型数据的值 + "";(常用)
(2)包装类的静态方法:toString
(3)String 类的静态方法:value0f
2、String 类型转基本数据类型
(1)包装类的静态方法 parseXXX
(2)字符串截取字符:charAt 方法
(3)String 类型转成基本数据类型时,确保 String 类型能转换成有效数据
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战