Java数据类型转换实例解析
这篇文章主要介绍了Java数据类型转换实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
数据类型转换
Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。
数据类型的转换分类
自动类型转换
- 自动类型转换(隐式):将取值范围小的类型自动提升为取值范围大的类型。
- 转换规则:范围小的类型向范围大的类型提升,byte、short、char运算时直接提升为int。byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
- 特点:代码不需要进行特殊处理,自动完成。
代码举例:
packagedemo01_DataTypeTransform; publicclassDemo01DataType{ publicstaticvoidmain(String[]args){ //直接写上的数字默认是int类型 System.out.println(2); //直接写上的小数,默认是double类型 System.out.println(3.14); //int类型赋值给long类型符合自动类型转换的规则自动转换为long类型 longl=888; System.out.println(l); //long类型赋值给float类型符合自动类型转换的规则自动转换为float类型 floatf=5656L; System.out.println(f); //float类型赋值给double类型符合自动类型转换的规则自动转换为double类型 doubled=3.14F; System.out.println(d); } }
代码执行后的结果
强制类型转换
- 强制类型转换(显式):将取值范围大的类型强制转换成取值范围小的类型。
- 特点:强制转换需要我们自己手动执行。
- 转换格式:数据类型变量名=(数据类型)被转数据值;
强制转换类型注意事项
- 强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。
- byte/short/char这三种类型都可以发生数学运算,例如加法“+”.
- byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。
- boolean类型不能发生数据类型转换
代码举例
packagedemo01_DataTypeTransform; publicclassDemo02DataType{ publicstaticvoidmain(String[]args){ //long类型强制转换为int类型 inti=(int)3333L; System.out.println(i); //当要转换的数据类型超过了数据类型的范围的最大值则会造成数据溢出 //格式:数据类型变量名=(数据类型)被转数据值; intj=(int)600000000000L; System.out.println(j); //浮点转成整数,直接取消小数点,可能造成数据损失精度。 intz=(int)3.14; System.out.println(z); //byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。 byteb=3; shorts=5; charc='c'; /* *byte+short--->int+int--->int *int+char--->int+int---->int *char类型提升int类型查询Ascll码表 */ intresult=b+c+s; System.out.println(result); } }
代码执行后的结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。