java string链接链和数据运算优先问题

System.out.println(“相当于”+2*10.5+(4-2)*4.0); 得出的答案是 相当于21.08.0 想知道21.08.0是怎么出来的 以及这里string连接的优先级和运算的优先级

就是“相当于”,然后2*10.5=21.0,然后(4-2)*4.0=8.0,然后这三个当成字符串连起来的结果

字符串认识+号,不认识*和()。所以先完成*和()运算,再进行字符串的+运算。+是按顺序执行,所以不会先执行后面的两个数值的+,而是从左到右执行字符串的+

从左到右加载执行的。类似System.out.println(a+b+c);

因为a是字符串,b是数字。最后得到a+b字符串。即相当于21.0   

上面的整体可以看做是d

然后d是字符串,c是数字。最后得到的是d+c字符串。即21.08.0

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632