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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Dark_Knight 中级黑马   /  2014-12-8 20:22  /  3474 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
这个大神的笔记里的,但是这个级别是按什么排列的,没看明白。

18 个回复

倒序浏览
我觉得是按照,精度和占的字节排的。
回复 使用道具 举报
按占用内存空间的大小吧。byte 八位 char short 十六位 int float 32位 long double 64位
回复 使用道具 举报
chudaming213 发表于 2014-12-8 20:55
按占用内存空间的大小吧。byte 八位 char short 十六位 int float 32位 long double 64位 ...

但是为什么byte和short是平级的呢
回复 使用道具 举报
Dark_Knight 发表于 2014-12-8 20:58
但是为什么byte和short是平级的呢

他说错了
回复 使用道具 举报
表达式的数据类型自动提升 所有的byte型、short型和char的值将被提升到int型。 如果一个操作数是long型,计算结果就是long型; 如果一个操作数是float型,计算结果就是float型; 如果一个操作数是double型,计算结果就是double型 楼主可以按照这个思路去理解一下!
回复 使用道具 举报 1 0
chudaming213 发表于 2014-12-8 20:55
按占用内存空间的大小吧。byte 八位 char short 十六位 int float 32位 long double 64位 ...

是不是因为byte和char,short体现到屏幕上都是两个字节,所以byte已经被提升了,所以他们是同一级的。
回复 使用道具 举报
c91764000 发表于 2014-12-8 21:26
表达式的数据类型自动提升 所有的byte型、short型和char的值将被提升到int型。 如果一个操作数是long型,计 ...

是只有byte被提升了吧
回复 使用道具 举报
你说的平级是指类型的自动提升吧?支持五楼说法!
回复 使用道具 举报
Dark_Knight 发表于 2014-12-8 21:36
是只有byte被提升了吧

byte是一个字节,short和char是2个字节 int是四个字节。所以都会被提升为int
回复 使用道具 举报
是指占得字节数,也没什么平级的,byte一个Byet,char.short两个Byet,int,float四个Byet。long double八个Byet.
回复 使用道具 举报
Dark_Knight 发表于 2014-12-8 21:30
是不是因为byte和char,short体现到屏幕上都是两个字节,所以byte已经被提升了,所以他们是同一级的。 ...

这跟在屏幕上显示没有关系。 他应该强调的是向上提升,所谓“上”就得有个排列不是,排列的标准就是占用内存的大小,他写的这个就是按占用内存大小排列的顺序。因为每次运算后结果大小都不确定,为了保证能盛得了运算结果,就找个大点的容器吗,所以就向上提升了。“体现到屏幕上都是两个字节“你是怎么看出来的???
回复 使用道具 举报
chudaming213 发表于 2014-12-8 23:19
这跟在屏幕上显示没有关系。 他应该强调的是向上提升,所谓“上”就得有个排列不是,排列的标准就是占用 ...

我明白了 谢谢,大神的笔记好像有个地方写错了,long——>float才对吧,我试过了float c = 1l;可以成立。但是long c = 1f就不能成立。
回复 使用道具 举报
Dark_Knight 发表于 2014-12-8 23:36
我明白了 谢谢,大神的笔记好像有个地方写错了,long——>float才对吧,我试过了float c = 1l;可以成立。 ...

恩,就是为了确保精度
回复 使用道具 举报
二楼正解呀。
回复 使用道具 举报
byte:一字节(8位)   
short:两字节(16位)
int:四字节(32位)(一个字长)
long:八字节(64位)
float:四字节(32位)
double:八字节(64位)
从上往下,由低级向高级依此排序;
当运算中涉及到进制转换时,低级向高级转可以自动完成,高级向低级转则需要强制转(如输出65的ASCII码:char(65))
回复 使用道具 举报
你可以按各个类型的取值范围去理解
回复 使用道具 举报
。。。。路过
回复 使用道具 举报

是不是因为byte和char,short体现到屏幕上都是两个字节,所以byte已经被提升了,所以他们是同一级的

评分

参与人数 1黑马币 +20 收起 理由
Dark_Knight + 20

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马