You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何让+运算符作为算术加法而非字符串拼接参与表达式运算?

解决Java字符串拼接中算术加法优先级问题

嘿,刚学Java几周遇到这个问题太正常了,我当初也栽过这个跟头😉

问题原因

Java里的+运算符有两种作用:算术加法和字符串拼接,它的执行顺序是从左到右的。你的代码里,"Please enter the #" + i + 1会先把左边的字符串和i拼接成新的字符串(比如i=0时就是"Please enter the #0"),然后再把这个结果和"1"做字符串拼接,最后就变成了"Please enter the #01",完全不是你想要的算术加法效果。

解决方案

只需要给i + 1加上括号,利用括号提升运算优先级,让算术加法先执行,再把结果和前后的字符串拼接就可以了:

System.out.print("Please enter the #" + (i + 1) + " data: ");

这样当i=0时,会先计算0+1=1,再把这个数值转换成字符串和前后部分拼接,最终输出就是你预期的"Please enter the #1 data: "。

小补充

如果以后遇到混合了字符串和算术运算的场景,记得用括号明确指定运算顺序,避免因为运算符优先级导致的意外结果哦!

内容的提问来源于stack exchange,提问作者westae

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 04:37:49