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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 搁浅灬石头 中级黑马   /  2014-10-10 08:58  /  1352 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 搁浅灬石头 于 2014-10-11 22:10 编辑

基本数据类型变量的声明:如: byte  num = 122;
                                                   float nun = 3.13;
把3.13赋值给nun是float,默认为double类型,这样宽的给窄的数据类型会丢失精度不可以,这个理解?
那么,把122赋值给byte,是不是默认为int类型,也是宽的数据类型给窄的,为什么就可以额?
java新手,有谁给讲解一下啊,原本题是会的,但是就像搞清楚这是什么个状况?

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

4 个回复

倒序浏览
byte和int都是整型,是一个数据类型,只是int比较常用而已。在某些情况下还的用byte,所以byte和int基本没有什么不同。就是能够表达的范围有所不一样而已;把浮点型数据复制给整型数据肯定会丢失数值的,这是没有什么好说的,一般都想得通
回复 使用道具 举报
tiancairc 发表于 2014-10-10 09:14
byte和int都是整型,是一个数据类型,只是int比较常用而已。在某些情况下还的用byte,所以byte和int基本没 ...

double和float都是浮点型啊
byte和int都是整型。
我想知道,整形的可以,为什么浮点型的不可以啊
回复 使用道具 举报
本帖最后由 new999 于 2014-10-10 10:01 编辑

一切都要看编译器是怎么处理的。byte  num = 122;122在byte的范围内,编译器自动转再赋值
float nun = 3.13f;。。。
回复 使用道具 举报
new999 发表于 2014-10-10 09:55
一切都要看编译器是怎么处理的。byte  num = 122;122在byte的范围内,编译器自动转再赋值
1float nun = 3. ...

我知道,浮点float后要加大写或小写的f/F,我想搞清楚:byte num = 3;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马