A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梦之蓝2015 初级黑马   /  2015-3-9 10:10  /  911 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚看自动数据类型提升,有点不明白,byte  short int long 都是基本数据类型,为什么只有int行可以自动提升,糊涂了   没基础自学挺吃力

5 个回复

倒序浏览
不是只有int,int4字节和那些低于4字节的number类型(如byte,short)进行运行时,低于4字节的数也会自动提升,类似当int和long在一起运算时,int会自动提升到和long一样的字节数
回复 使用道具 举报
因为默认是int类型
回复 使用道具 举报
在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、逆向过程:使用强制转换,可能丢失精度。
回复 使用道具 举报
只是因为在黑暗中多看你一眼,int他就是默认的基本类型,他的运用是最多的,所以你就以为只有int可以拉
回复 使用道具 举报
由小的数据类型向大的数据类型提升!他们由小到大的顺序是byte<short<int<long,在此运算的时小的自动向大的替身以符合数据的运算!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马