int number = 82;
char sex = '女';
char result = sex + number;(报错)
char inte = '女' + 82;(可以)
int ,double ,short byet,long,float都是数值型的,char是字符型
char是字符型,而int是整型。你第三行都是变量,相当于进行两者相加违背自动转换规则,第四个都是具体的值,就相当于赋值。
自动类型转换的条件有两个:1.目标类型和源类型兼容;2.目标类型大于源类型。而char类型和int类型不兼容,不满足自动类型转换的条件,两者相加就会出错。
后者只是单纯的赋值
这个原因是什么呢?