黑马程序员技术交流社区
标题:
java中的数据类型装换隐式转换是什么呀?
[打印本页]
作者:
子阳zy
时间:
2014-8-17 21:14
标题:
java中的数据类型装换隐式转换是什么呀?
java中的数据类型装换隐式转换是什么呀?
作者:
怀念黑海岸
时间:
2014-8-17 23:08
就拿浮点数来说吧,float是32位,最小值是-2的-149次方,最大是2的(2-2的-23次方)*127次方,double的最小值是2的-1074次方,最大值为(2-2的-52次方)*2的1023次方,你如果要精确的表示一个数,你认为用谁更准确,double,所以如果当你试图用一个float类型的变量来代表一个双精度的double数值时有没有可能导致这个double数的精度变差呢?肯定有,比如我一个double是2的-1000次方,你能用float表示吗,float最小都才-149次方。所以我们想用一个float表示double的话那么要显式的表示出来,提醒编程者,这儿会导致精度损失。而你如果用double去表示一个float呢,完全就不存在这种情况了,因为他能完全的表示你这个float的精度。所以不需要显式的说明,这就是隐式转换。系统自己帮我们转化好了。
在继承或者面向接口编程中,我们会常常用到这种思想,一个子类Zi继承自父类Fu,那么当父类的变量Fu obj指向子类new Son()时是不需要说明的,你子类都是由我派生出去的,我儿子还需要向别人证明吗?但是你如果如果有一个子类的变量Zi zi=obj了,那么系统会提醒你。这儿需要显式转换,因为父类表示的范围比子类更广泛。
希望对你有用。
作者:
dhgcy
时间:
2014-8-19 11:08
简单地说Java中隐式类型的数据转换就是自动数据类型转换
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2