黑马程序员技术交流社区

标题: 自动数据类型提升? [打印本页]

作者: 梦之蓝2015    时间: 2015-3-9 10:10
标题: 自动数据类型提升?
刚看自动数据类型提升,有点不明白,byte  short int long 都是基本数据类型,为什么只有int行可以自动提升,糊涂了   没基础自学挺吃力
作者: EYE_SEE_YOU    时间: 2015-3-9 21:36
不是只有int,int4字节和那些低于4字节的number类型(如byte,short)进行运行时,低于4字节的数也会自动提升,类似当int和long在一起运算时,int会自动提升到和long一样的字节数
作者: 袁丙轩    时间: 2015-3-9 21:39
因为默认是int类型
作者: 浅步调    时间: 2015-3-9 21:50
在java中,数据类型有基本数据类型和引用数据类型两种。基本数据类型有 byte  short  int  long  float   double  char   boolean 8种。java中的自动类型提升问题有:
1、正向过程:由低字节向高字节自动转换byte->short->int->long->float->double  。 即:当一个java算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升。Java定义如下的自动提升规则:
所有byte型、short型和char型将被提升到int型;整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。
2、逆向过程:使用强制转换,可能丢失精度。
作者: mark.tian    时间: 2015-3-9 22:17
只是因为在黑暗中多看你一眼,int他就是默认的基本类型,他的运用是最多的,所以你就以为只有int可以拉
作者: Dark县令    时间: 2015-3-9 23:49
由小的数据类型向大的数据类型提升!他们由小到大的顺序是byte<short<int<long,在此运算的时小的自动向大的替身以符合数据的运算!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2