1 package cn.jx.jvtc.ExtendsDisabuse; 2 /** 3 * @author 作者: 4 * @date 创建时间:2017年3月2日 下午12:51:20 5 * @version 1.0 6 * @since 7 */ 8 9 public class ShortDemo{ 10 public static void main(String[] ags) 11 { 12 short s1 = 1; 13 //等价于s1 = (short)((int)s1+1) 14 s1 += 1; 15 //先判断赋值符两端的类型,如果为同一类型,则编译通过,反之,则看右端表达式的类型是否能通过赋值转换被转换为变量的类型(java语言规范5.2)。 16 short s2 = s1; 17 //等价于s2 = (int)s2+1,即s2+1结果为int型,int型(大)转为short(小)必须经过显示类型转换(cast) 18 s2 = s2 + 1;//error 19 //正确 20 s2 = (short)(s2+1); 21 //同理等价于s3 = (int)s1 + (int)s2; 22 short s3 = s1 + s2;//error 23 //正确 24 s3 = (short)(s1+s2); 25 26 System.out.println(s3); 27 /** 28 * 总结:对于short,byte,char 比int 字节数小的变量类型来说,运算结果会自动转换为int类型。 29 */ 30 } 31 }
浙公网安备 33010602011771号