已有101人关注
显示转换隐式转换问题
发表在Java图书答疑 2016-07-24
是否精华
版块置顶:
java从入门到精通第3版说 从低类型向高级类型的转换,系统将自动执行,程序员无需进行任何操作,这种类型间的转换称之为隐式转换;    当把高精度的变量的值赋给低精度的变量时,必须使用显示类型转换运算(又称强制类型转换)
我想问的是 有很多老师又说输入的整数都默认问int型  那么byte b=1;此1应该是int型 赋给b型 为什么没有进行强转?? 尽管你们特殊说明了 不需要进行强转  。 但是我想请问下老师他到底属于隐式转换还是显示类型转换?如果1是int型 你们又强调不需要强转  那么是否违背了你们强制转换的定义??你们说必须使用显示类型转换运算的????????急切等待回答。。。
分享到:
精彩评论 4
静心_mrkj
学分:0 LV1
2016-07-25
沙发
byte的取值范围是-128到127之间的任意整数;
int的取值范围是-2^31到2^31-1之间的任意整数。
综上,byte与int在取值范围上是有交集的。
佚名
学分:70 LV3
TA的每日心情
开心
2021-07-05 14:21:40
2016-07-25
板凳
感谢你们回答,也就是说 有很多老师又说输入的整数都默认问int型    这句话说错了?    当输入为200的时候默认为int型  当输入为byte b=1时   此时1为byte型?
静心_mrkj
学分:0 LV1
2016-07-25
地板
是的。int i = 1,这个1是int型;byte b = 1,这个1是byte型。
佚名
学分:70 LV3
TA的每日心情
开心
2021-07-05 14:21:40
2016-07-25
4L
[FIELDSET][LEGEND]引自:3楼[/LEGEND]
是的。int i = 1,这个1是int型;byte b = 1,这个1是byte型。
[/FIELDSET]

回复:
  
原来是这么多培训老师误导我,说什么输入的数字都默认为int,既然都默认为int型 byte b=1;1默认为int型了,不管超没超都得强转啊 。还有一个问题你们书上说当把整数赋给byte short int long 时不可以超出变量的取值范围 否则要强转 byte b=(byte)129;存在这种情况。 int long我觉得不存在这种情况了啊 老师你演示个
首页上一页 1 下一页尾页 4 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照