黑马程序员技术交流社区

标题: 关于java编译器有常量优化机制到底该如何去理解? [打印本页]

作者: 格城先生    时间: 2016-4-11 22:55
标题: 关于java编译器有常量优化机制到底该如何去理解?
class Test1_DataTypeConversion {
        public static void main(String[] args) {
                byte b1 = 3;
                byte b2 = 4;
                //byte b3 = b1 + b2;             //此处报错, b1 + b2结果会提升为int型,赋值给byte类型会损失精度;
                //System.out.println(b3);      
                byte b4 = 3 + 4;                        //等价于   byte b4 = 7;//java编译器有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了
                System.out.println(b4);
       
                //char b5 = 2+'2';                   //此处是否会报错? 此处常量优化机制怎么运作? 输出结果为多少?
                System.out.println(b5);   
       
        }
}


作者: zwb690949450    时间: 2016-4-11 23:20
小白同求解,求楼下大神解答
作者: 格城先生    时间: 2016-4-12 23:10
此处 char b5 = 2+'2';  等价于 char b5 = (char) ((int) (2 + '2'));   所以b5输出结果为4




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