第一个有错,因为s1是short类型,s1 + 1会自动转换为int类型,将int类型赋值给short类型的s1,属于高位类型转低位,需强制转换。
第二个正确,因为s1 += 1 相当于 s1 = (short) (s1 + 1),默认会有强制类型转换。
从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换
6 short s1 = 1; s1 = s1 + 1;有错吗? short s1 = 1; s1 += 1; 有错吗?
原文:https://www.cnblogs.com/xilichenbokeyuan/p/14148671.html