首先请运行一下代码,查看下运行结果:
A.byte b = 1 + 1;
B. byte b = 1; b = b + 1;
C. byte b = 1; b = b += 1;
D. byte b = 1; b = ++b;
其中运行A,C,D是正确的,B是错误的。
ACD正确的原因是在初始化的时候有自动类型转换。
那么,自动类型转换是从什么转换到什么,参与运算的时候到底是INT型还是BYTE?为什么发生自动类型转换?
A初始化的时候为什么可以,B为什么就会报错?1不都应该整型么?
求大神解答 |
|