更新时间:2023年02月16日13时49分 来源:传智教育 浏览次数:
在Java编程中,一般涉及到short、byte和char类型的运算时候,首先会将这些类型的变量值强制转换为int类型,然后对int类型的值进行计算,最后得到的值也就是int类型。
所以,假如我们把两个short类型的值相加,最后得到的结果是int类型;如果把这两个byte类型的值相加,最后也会得到一个int类型的值。如果需要得到short类型的结果,就需要显式地把运算结果转换为short类型,用一个语句举例short s1 = 1;s1 = s1 + 1,由于在运行时会首先将s1转换成int类型,因此s1+1的结果为int类型,这样编译器就会报错,故而,正确的写法应该是short s1 = 1;s1 = (short) (s1 + 1)。
有一种例外情况。“+=”是Java语言规定的语法,Java编译器会对它进行特殊的处理,因此,语句short s1 = 1;s1 += 1能够编译通过。