上面那段代码, 把int型赋给short型, 有没有进行类型转换, 所以通不过.
而下面那段用+=运算符的, 应该是+=操作内部有强制类型转换的过程,
往这儿看:- public class Test {
-
- public static void main(String[] args) {
-
- String str = "10";
- int i = 1;
- char c = 'a';
-
- c+=i;
- System.out.println(c); //输出字符'b'
-
- i+=c;
- System.out.println(i); //输出整型99
-
- /*i+=str; //编译报错, 因为不能把String型强制类型转换成int型. cant cast String to int.
- System.out.println(i);*/
- }
- }
复制代码 |