摘要: 今天同悦姐学到了关于Java的复合赋值操作(+=)的一点小知识,记录下,感谢悦姐的讲解!首先来看下面两行代码:short s1 = 1; s1 = s1 + 1;对于稍微有点Java经验的人来说,这个是非常简单的问题,他们肯定会说 这样是无法通过编译的。首先,因为short类型是16位的,而int类型是32位的,在进行(s1+1)运算时,自动将s1提升到32位,然后与i相加,得到的结果是32位的,而此时s1=s1+1;必然报错,因为这样会丢失2个字节的精度,这是不容许的。但是你可以执行强转:s1=(short)(s1+1); 这样就没问题了.现在我们再看下面这两行代码:short s1 = 1 阅读全文
posted @ 2013-04-01 18:06 十年半山 阅读(2658) 评论(4) 推荐(0) 编辑