在学习隐式和显式类型转换的同时,我尝试了以下代码:
class Implicit
{
public static void main(String args[])
{
byte a=10;
byte b=20;
a=a+b; //
System.out.println(a);
}
}编译器报告:

我尝试了这段代码,看看在这个示例中,一元运算符或任何其他操作是否会导致右侧的数据类型发生变化。
这就是这里正在发生的事情吗?若有,原因为何?还有哪些其他情况会导致数据类型改变?
发布于 2013-04-19 18:35:19
add操作导致byte变量被提升为int。
请参阅此问题的答案Add bytes with type casting, Java
我不太明白为什么使用c#,但似乎是为了c#(是的,java也有类似的结果),这是为了性能。有关详细信息,请参阅此处byte + byte = int... why?
https://stackoverflow.com/questions/16102587
复制相似问题