JAVA 17.下面的表达式中正确的是( A )

17.下面的表达式中正确的是(A)A.Strings=〃你好〃;inti=3;s+=i;B.Strings=〃你好〃;inti=3;if(i==s){s+=i};C.St... 17.下面的表达式中正确的是( A )
A.String s=〃你好〃;int i=3;s+=i;
B.String s=〃你好〃;int i=3;if(i==s){s+=i};
C.String s=〃你好〃;int i=3;s=i+s;
D.String s=〃你好〃;int i=3;s=i+;

为什么啊?
展开
 我来答
百度网友5908392
2008-10-24 · TA获得超过158个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:155万
展开全部
这道题A和C都是正确的,B和D很明显是错误的,B里面int型和String型是不能直接比较的,D里面i+这是个语法错误,java里面不能这么用,A和C中,当int和String型遇到+操作符的时候,这里面+不再是数学运算的意思,而是连接符,int型会自动转换成String型,这时的+是java中唯一重载的运算符,而s+=i和s=i+s在效果上是一样的,都是连接,但结果不一样,B打印出s应该是“你好3”,C打印出s是“3你好”。
dhzhen2003
2008-10-24
知道答主
回答量:42
采纳率:0%
帮助的人:19.4万
展开全部
应该是A和C都对,s+=i 跟s=i+s是一样的 加的时候i会自动转化为字符串
B i是int s是String 不能直接比较,D i加后还是int 不能转化为String.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SantiCazorla
2008-10-24 · 超过21用户采纳过TA的回答
知道答主
回答量:175
采纳率:0%
帮助的人:0
展开全部
a因为s+=i;就是s=s+i; ‘+’是连接符。
b因为i==s不同类型不能比较。
c因为不同类型不能相加。
d没有那么写的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
debbykindom
2008-10-24 · TA获得超过171个赞
知道小有建树答主
回答量:285
采纳率:100%
帮助的人:171万
展开全部
B.选项(i==s)错误,必须相同类型才能判等。

D.选项s=i+;语法错误。

A.C.选项似乎没有错误。
自己测试一下就知道了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
special_chao
2008-10-24 · TA获得超过136个赞
知道答主
回答量:97
采纳率:0%
帮助的人:81.5万
展开全部
D项 编译都不能通过咧
小弟试了一下 它报语法错误:标记"+",应为"++"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式