可以给我讲讲原理嘛 我不是很懂

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

img

答案B
s+=i
等价于
s=s+i
s是字符串类型,i是int类型,当字符串类型和int类型相加,隐式将int类型转换为字符串类型,并进行字符串拼接,最终结果s="Hello10"
其它选项:在c语言里都不会报错
但java是强类型的编程语言,只有从一个小类型向大类型转换时可以隐式转换,反过来就不行
A选项,char类型和int类型不能相加
C选项,同B,但最终结果是个字符串,不能赋值给int型的i
D选项,char类型+string类型最终是string,不能赋值给char