byte b = 10;
//这里int型的10,不参与运算,属于在byte的合法赋值范围,不报错
byte b = b+1;
//因为上一条式子中已经声明b为byte型,所以这里的byte可以去掉了
//因为后式中的1是int型,b是byte型,于是运算中默认提升为本式中最大类型int
//b+1在运算中已经自动提升为int类型,直接赋给byte类型会报错,就算属于byte赋值合法范围内也需要强制进行转换
//即 b=(byte)(b+1);也可以改写为 b+=1 ,不会报错
byte b = ++b;
//同样的,把这里的byte去掉
//++b本身的意思就是b+=1了,所以b=也可以去掉了
//++b等于 【 类型】b=(类型)(b+1 ) b是byte型的,所以byte b= (byte)(b+1),不会报错
//byte,short,char之间不会自动发生类型转换,如果进行运算,会优先转换为int型 |