java数据类型及其转换规则


一基本类型

java基本类型分为8种,分别为byte,short,int,long,float,double,char,boolean,除boolean外,其他类型都可以进行相互转换。

 

 二。转换原则

1、宽转换(自动类型转换或隐式转换):
自动转化:数据类型可以自动从低精度—>高精度。(即为由整数到分数)(byte<short<char<int<long<float<double)
(1):byte可以直接转换到short、int、long、float、double。
(2):short可以直接转换到int、long、float、double。
(3):char可以直接转换到int、long、float、double。
(4):int可以直接转换到long、float、double。
(5):long可以直接转换到float、double。
(6):float可以直接转换到double

注:int转换为float,long转换为double,可能造成精度丢失

byte,short,int都是有符号的整数,进行宽转换时要进行符号位的扩展。例如:int i= (char)

2、窄转换

(1):double可以直接转换到byte、short、char、int、long、float。
(2):float可以直接转换到byte、short、char、int、long。
(3):long可以直接转换到byte、short、char、int。
(4):int可以直接转换到byte、short、char。
(5):char可以直接转换到byte、short。
(6):short可以直接转换到byte、char

注:极大可能会丢失信息

3、宽窄同时转换

宽窄同时转换发生在byte转换到char期间。转换过程为:先将byte宽转换到int,再将int转换到char

注意:1、不能对布尔值进行转换

           2、不能把对象类型转化为不相干的类型

           3、把高容量转化为低容量时,强制转换

            4、由高到低时,可能存在溢出或精度问题

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM