2-2选择题中的

2-2选择题中的

设有如下变量,以下哪些语句编译不出错?(选择一项)


为什么选B

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
jaz_xu 2017-11-01 12:05:48

这一题答案中用到了如下几个类型变量的定义:

char c = 'c';
int i = 10;
String s = "Hello";

然后有如下4个选项:

i += s;
c = c + i;
s += i;
c += s;

首先是 “i += s;”,这个运算式等价于 “i = i + s;”,s是一个String类型的字符串变量,因此“i + s”的过程其实是一个字符串拼接的过程,因此“i + s”得到的结果是一个字符串,然而字符串类型的数据不可以直接赋给整型的变量,因此“i += s;”是错误的,编译不通过,可以排除,根据上面的解释可以从4个选项中筛选出“s += i;”是正确答案。


再说说“c = c + i;”,c是字符型的变量,字符型的变量在和整型的变量做运算操作时,得到的结果是整型的变量,因此编译错误。


最后是“c += s;”,该选项和“i += s;”类似,都是做字符串拼接,String类型的字符串不可以直接赋值给字符类型的变量,因此编译错误。所以得到的答案就是“s += i;”。


个人见解,希望对你有所帮助。

  • 你好!我用idea执行过一遍,答案不是你说的这样哦
    2017-11-10 08:56:46
  • c+=i;这种形式没有问题,但是c=c+i;是有问题的,可以试一下
    2017-11-10 13:35:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师