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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 菜鸟V 中级黑马   /  2016-9-25 23:46  /  1444 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

练习05
1、思考:哪句是编译失败的呢?为什么?
                   class Demo {
                            public static void main(String[]args) {
                                     byteb1=3,b2=4,b;
                                     b=b1+b2;
                                     b=3+4;
                            }
                   }
答案: b1 = b1+b2; 错误
b1 = b1+b2; 两个byte类型的变量相加,会把类型提升为int类型,再做相加,结果为int类型,把最后的int类型结果付给byte 出错
b1 = 3+4; 由于3+4 是两个常量,那么编译器在编译的时候,会将结果计算出来,如果结果没有超过byte范围,赋值给b1成功;超过范围,赋值给b1失败。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马