本帖最后由 houyudong 于 2014-6-30 22:01 编辑
byte b1=3,b2=4,b;
b=b1+b2;//报错,因为java虚拟机在运算时会自动将b1和b2转换成int类型相加,所得的值是一个int类型的值,所以需要强转
b=3+4;//byte类型的取值范围是-128到127,两个值相加编译器能够知道结果是多少,直接赋值没有问题,如果换成b=b1+4,就会报错,因为编译器不知道b1的值,他只知道b1是一个byte类型的变量,一个byte变量和一个int类型相加,会自动转换成int类型,
|