这段小java程序为何会如此运行。

来源:百度知道 编辑:UC知道 时间:2024/06/05 02:25:00
int x=5;
double z=6.7;
String s="hi";
System.out.print(x+z+s+x+z);

输出是 11.7hi56.7为何 后面的x+z与前面的不一样呢?

从左边开始,int+double结果是double11.7,后面是String所以就把前面的当字符串处理了,后面的也是直接当字符串处理了。

后面是字符串相加。
比如你改成 s+x+z+x+z结果为hi56.756.7
如果x+z+x+z+s结果就是23.4hi

因为数据类型不一样,所以在print的时候是按照下面的方式处理的。
(x+z)+(s+x+z)

一楼说的对!
祝你好运!