基本数据类型转换

自动类型转换

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 类型能转换成有效数据

posted @   半条咸鱼  阅读(138)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示