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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© strongmanzxh 中级黑马   /  2016-4-8 23:55  /  593 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数据大的转制数据小的 前面要加数据类型标识符号,而数据小的转大的为什么不用?

13 个回复

倒序浏览
没人知道吗?
回复 使用道具 举报
呵呵,这个问题问的好
回复 使用道具 举报
底层自动转换了  
回复 使用道具 举报
因为小的数据都在大范围的数据内了啊,大的已经包括小的了   干嘛还要强制的转换呢  直接拿来用就可以不会出问题。
回复 使用道具 举报
自动转换,小瓶子里的水倒入大瓶子里,直接到就行了;大瓶子的倒入到小瓶子,可能装不下(损失精度),因此会强转
回复 使用道具 举报
请参考隐式数据类型转换 (自动数据类型提升)
byte -> short -> int -> long -> float -> double
               char -> int -> long -> float -> double
道理就如楼上所说
回复 使用道具 举报
系统自己会处理!
回复 使用道具 举报
小的 提升为大的 不会损失 精度 所以 不需要 强转
回复 使用道具 举报
不为什么,规则而已
回复 使用道具 举报
系统帮你自动转换了啊,小的那是肯定在大的范围里,干嘛还要强制转化?
回复 使用道具 举报
自动数据类型提升,例如,由byte类型转为int类型,由1字节转为4字节,要强转。而由int类型转为byte类型,1字节承受不了4字节,必须强转,以免损失精度
回复 使用道具 举报
因为不同的数据类型,内存空间都是有限的,byte类型只有8个二进制数来表示数值,而int有32个二进制数值来表示。
所以取值范围大的数据类型转型为取值范围小的,可能会出现超出最大值的问题,因此必须强转,而且强转可能损失精度。
而取值范围小的数转型为取值范围大的数,并不会出现超出最大值的问题,所以无需强转。
回复 使用道具 举报
为什么不能只有一个字符类型和一种数字类型,,,,内存是大问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马