黑马程序员技术交流社区
标题:
数据类型转换
[打印本页]
作者:
追梦天涯33
时间:
2015-8-28 00:04
标题:
数据类型转换
隐式转换:
强制转换:
面试题:
第一题:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
答:第一句编译失败,因为系统默认的输出类型是int型,所以如果进行输出的话
系统会报错,提示有可能损失精度。可以定义为b=(byte)(b1+b2),进行强制 转换。
第二题:
byte by = 130;有没有问题?有问题如何解决?结果是多少呢?
答:有问题,编译报错可能损失精度。应该定义为byte by = (byte)130
结果为-126,根据老师讲的-126的生成原理,是把8个bit前面的bit直接 切掉,那么他的精度已经损失,这个值还能用吗???
byte by =300; by是又是多少呢?
答:同上不能编译,byte by = (byte)300;结果是(300-256=44);所以结果 是44。规律:定义byte by = m;m是常数则其结果应满足
(-128<(m-256n)<127).
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2