您的位置:首页 > 职场人生

Java语言基础面试题之变量相加和常量相加的区别

2017-01-23 10:27 274 查看
package cn.mldn.demo;

public class Test1_DataTypeConversion {

public static void main(String[] args) {

byte b1  = 3;
byte b2  = 4;
//            byte b3 = b1 + b2;
//            System.out.println(b3);
//            从两个方面
//            1. byte 与 byte (或者 short char ) 进行运算的时候会提升int 两个int 类型相加的结果也是int 类型
//            2. b1 和  b2 是两个变量,变量存储的是变化 ,在编译的时候无法判断里面的值,相加有可能会超出byte的取值
//
byte b4 = 3 + 4;
System.out.println(b4);

//            java编译器有常量优化机制

}

}


b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值

byte类型的变量在进行运算的时候,会自动类型提升为int类型

3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了

Java编译器有常量优化机制 和直接赋值7 是一个意思
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐