在java中属于数值类型的有byte、short、char、int、float、long.而这里面有三个比较特别的类型byte、short、char这三个。 为什么说这三个特别呢,现举一个例子: short a=0, b=1, c=2; a = b+c; //这个会报错 a += b; //这个不报错 其它两种类型也同样如此,为什么会这样呢?经过测试,byte、short、char这三种类型,只要是在表达式中,它就会先将自己提升为int型,如果表达中有更高的类型(如long型),那么才会再提升到更高的类型,再进行计算。注意的是"+="这个符号会自动进行类型隐式转换,可以从大类型转向小类型。除了这个符号,还有"-=","*=","/=",这三个符号。