变量相加和常量相加的区别

1.变量相加

变量相加和常量相加的区别

报错原因:

1、byte与byte(或short,char)进行运算的时候会自动提升为int,两个int类型相加的结果也是int类型,再把int类型的值赋值给byte自然会报错。

2、b1和b2是两个变量,变量存储的值是变化的,在编译的时候无法判断里面具体的值,相加有可能会超出byte的取值范围。

2.常量相加

变量相加和常量相加的区别

通过原因:

Java编译器有常量优化机制,在编译的时候就将常量的运算值计算出来了,而且常量运算的结果值在小数据类型的取值范围内,所以通过,如果不在小数据类型的取值范围内,编译就无法通过。