黑马程序员技术交流社区

标题: 简单的面试知识 [打印本页]

作者: 纪先森    时间: 2016-4-29 21:55
标题: 简单的面试知识
面试题之变量相加和常量相加的区别

        * 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
        * byte b1 = 3;
        * byte b2 = 4;
        * byte b3 = b1 + b2;
                * 从两方面去回答这个题
                * b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
                * byte类型的变量在进行运算的时候,会自动类型提升为int类型
        * byte b4 = 3 + 4;
                * 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了

作者: Master_Yu    时间: 2016-4-29 22:45
来看看...
作者: 18814148171    时间: 2016-4-29 23:28
byte b3 = b1 + b2;这个错误,因为两个byte类型的数据相加,要先转成int的类型,改成byte b3 =(byte) b1 + b2;这样即可。
作者: 执着为梦    时间: 2016-4-29 23:29
顶!!!!!!!!!!!!!!1
作者: z736886202    时间: 2016-4-29 23:59
为了同是新手顶起来




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2