第一个有错,因为s1是short类型,s1 + 1会自动转换为int类型,将int类型赋值给short类型的s1,属于高位类型转低位,需强制转换。
第二个正确,因为s1 += 1 相当于 s1 = (short) (s1 + 1),默认会有强制类型转换。
从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换
Original: https://www.cnblogs.com/xilichenbokeyuan/p/14148671.html
Author: 卫盾
Title: 6 short s1 = 1; s1 = s1 + 1;有错吗? short s1 = 1; s1 += 1; 有错吗?
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576033/
转载文章受原作者版权保护。转载请注明原作者出处!