1、在s = s + 2 中,等号右边是一个表达式,根据Java类型自动转换原则,s + 2 会自动转换成int型,将一个int型赋给一个short型,自然编译会出错。
2、在s += 2 中,由于+=是一个运算符,因此2是short型,即该式可等价为:s = (short)(s + 2) ,因此编译不会出错。
1、在s = s + 2 中,等号右边是一个表达式,根据Java类型自动转换原则,s + 2 会自动转换成int型,将一个int型赋给一个short型,自然编译会出错。
2、在s += 2 中,由于+=是一个运算符,因此2是short型,即该式可等价为:s = (short)(s + 2) ,因此编译不会出错。