char,short,byte做混合运算的时候,是各自先转换为int再做运算.
char i='a';
byte j=1;
int k=i+j;//不会报错,正确的.
short s=i+j;//会报错,编译器不知道这个加法最后的结果是多少,只知道是int类型.
int a=1;
byte b=a;//会报错,编译器只知道a是int的类型,不知道所代表的具体数值,所以会报错.
char,short,byte做混合运算的时候,是各自先转换为int再做运算.
char i='a';
byte j=1;
int k=i+j;//不会报错,正确的.
short s=i+j;//会报错,编译器不知道这个加法最后的结果是多少,只知道是int类型.
int a=1;
byte b=a;//会报错,编译器只知道a是int的类型,不知道所代表的具体数值,所以会报错.