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

Java中+运算混合数值与字符串输出差异原因问询

两段Java代码输出差异原因及运算逻辑区别

核心差异来自Java中+运算符的两个基础特性:

  • +是左结合运算符,同级运算严格按照从左到右的顺序执行
  • +同时承担两种运算逻辑:两边操作数均为数值类型时执行算术加法;任意一边操作数为字符串类型时,自动将另一个操作数转为字符串执行拼接操作

第一段代码执行逻辑

对应代码:

System.out.println(100 + 100 +"Simplilearn");

运算从左到右逐层执行:

  1. 最先计算最左侧的100 + 100:两个操作数都是int数值类型,执行算术加法,得到中间结果200(int类型)
  2. 再计算200 + "Simplilearn":右侧操作数是字符串类型,触发字符串拼接规则,将int值200转为字符串"200"后和"Simplilearn"拼接,最终输出200Simplilearn。

第二段代码执行逻辑

对应代码:

System.out.println("E-Learning Company" + 100 + 100);

运算同样从左到右逐层执行:

  1. 最先计算最左侧的"E-Learning Company" + 100:左侧操作数是字符串类型,直接触发字符串拼接规则,将int值100转为字符串"100"后拼接,得到中间结果E-Learning Company100(String类型)
  2. 再计算上一步得到的字符串 + 100:左侧操作数已经是字符串类型,再次触发拼接规则,把第二个100也转为字符串"100"拼接上去,最终输出E-Learning Company100100。

补充:如果需要在字符串拼接场景下先执行数值加法,可以通过小括号提升运算优先级,比如写为"E-Learning Company" + (100 + 100),就会先算括号内的加法得到200,再执行拼接,输出E-Learning Company200。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 23:21:40