2 yixin5733 yixin5733 于 2016.01.19 00:37 提问

关于java中字符串的拼接问题

这个程序输出的结果为什么是25255?去掉双引号后结果为55,大神们能不能解释下原因?图片图片

5个回答

caozhy
caozhy   Ds   Rxr 2016.01.19 00:56
已采纳

带上引号,后面是字符串连接
相当于 (x + y),toString() + "" + (x+y).toString() + y.toString()
所以是"25" + "" + "25" + "5"
也就是25255
不带引号,是算术运算,最后转换为整数。

soochief
soochief   2016.01.19 01:44

1.数字加字符串都会被转型成字符串类型
2.从左向右的执行顺序
3.括号优先级大于加号

91program
91program   Ds   Rxr 2016.01.19 08:35

主要还是 + 和 “” 的优先级,会影响最终的结果吧。
如果没有 “”,就是纯+,加了之后输出计算结果,就是 55;
如果有了 “”后,计算顺序发生了变化,导致不同的输出。

rui888
rui888   Ds   Rxr 2016.01.19 08:48

一个字符串连接。一个是相加

enpterexpress
enpterexpress   2016.01.19 09:01

想输出这个吧“x+y=”+(x+y).toString()

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!