java基础语法测试第12题

java基础语法测试第12题

char c='c';

int i=10;

c+=c;

这个会编译错误吗?为何解析中这么赋值不正确呢?

正在回答

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

2回答

http://img1.sycdn.imooc.com//climg/5d40fa860001796805260186.jpg

选项A,c=c+i;有语法错误哦,但c+=i,是不会报错的。同学要改变一下学院派的学习习惯,一切都要建立在实验的基础上,动动手测试一下,不要只有空想法。祝:学习愉快


  • 小木慕1 提问者 #1
    谢谢解答,当时做题时,记得老师讲过c=c+i等于c+=i,在实际测试时,将c=c+i写成了c+=i进行测试,所以才感觉答案有问题,实际上c+=i和c=char(c+i)是一样的。
    2019-07-31 10:32:15
好帮手慕雪 2019-07-31 10:02:49

这样是没有语法错误的。没有编译错误。我没有找到你说的解析,第12题并不是这个呀,整个测试都没有这个题。请截图详细说明。祝:学习愉快

  • 提问者 小木慕1 #1
    抱歉,java基础语法测试第12题: 设有如下变量,以下哪些语句编译不出错?(选择一项) char c='c'; int i=10; double d=10; long l=1; String s="Hello"; int a=2; 选项: A. c=c+i; B. s+=i; C. i+=s; D. c+=s; 解析:A选项,c为字符型数据,i为int型变量,c+i之后的结果不能赋值给字符型变量; C选项,i+=s;相当于i=i+s; i为int型变量,s为String型变量,i+s后的结果为String类型,String类型不能赋值给int类型变量 D选项,c+=s; 相当于c=c+s; c是字符型变量,s为String型变量,c+s之后的结果为String类型,String类型不能赋值给字符型变量 B选项,s+=i; 相当于s=s+i; i是整型变量,s是字符串型变量,s+i的结果是字符串类型,可以赋值给字符串类型变量。因此B选项是正确的。 问题:其中的A选项是不是应该也是对的呢?
    2019-07-31 10:13:43
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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