【发布时间】:2015-04-07 11:44:42
【问题描述】:
谁能解决我的困惑,这是我的代码:
byte i = 0;
i++;
System.out.println(i);
结果:1
byte i = 0;
i = i+1;
System.out.println(i);
生成编译时错误:类型不匹配:无法从 int 转换为 byte
当我将其转换为字节时:i = (byte) (i+1); 然后很高兴得到结果 1
执行这个例子我明白 i = i+1 & i++ 执行不能相同的操作,所以现在我想知道它们之间到底有什么区别......!!!
【问题讨论】:
-
在进行增量时会发生隐式转换。所以最后两者都是相同的。
-
我认为你应该把学习的重点放在原始数据类型 byte 和 int 之间的区别上——以及它们之间的转换。