1.面试题1
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?解答:
class DataTypeDemo5{ public static void main(String[] args){ //定义变量 byte b1=3,b2=4,b; //编译失败 //b = b1+ b2 ; //b1+b2----->数据类型提升 int类型 //b = (byte)(b1+b2); //System.out.println(b); b = 3 + 4 ; System.out.println(b); } }
b1 + b2 数据类型提升为int类型,所以相加的结果为int类型,不能赋值给 byte类型的变量b
变量相加:想看当前进行计算的变量是否在取值范围之内,如果在,就执行运算(默认提升)
常量相加:相相加,最终看当前的结果是否在当前被接收的数据类型范围之内
2. 以后慢慢更新