我在Java编程时遇到了一个有趣的问题。我不记得我之前遇到过这样的问题。我宣布了两个变量。 x
的类型为byte
,y
为short
。无法将x
和5
的总和分配给y
。
byte x = 3;
short y = 103;
y = x + 5;
NetBeans发出possible lossy conversion from int to short
错误。但是,y = 5
没有问题。我也试过了y = x + (short)5
。但这也不起作用。只有y = (short)(x + 5)
有效。而且,y = x + x
不起作用。真奇怪。 Java编译器是否自动将任何计算结果转换为int
?