yixin5733 2016-01-18 16:37 采纳率: 22.2%
浏览 1598
已采纳

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

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

  • 写回答

5条回答 默认 最新

  • threenewbee 2016-01-18 16:56
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • soochief 2016-01-18 17:44
    关注

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

    评论
  • 91program 博客专家认证 2016-01-19 00:35
    关注

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

    评论
  • tony4geek 2016-01-19 00:48
    关注

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

    评论
  • 把分全给哥 2016-01-19 01:01
    关注

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

    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 arm虚拟机无法和物理机互通
  • ¥15 如何在此代码上增加一个统计学生生源的功能?(语言-c语言)
  • ¥15 Android导航条遮盖异常
  • ¥15 计算机网络技术基础问题
  • ¥15 设置mac系统只能访问指定网站
  • ¥15 西门子博途 s7 1200控制三台步进电机
  • ¥15 基于非参数的方向距离函数求污染物影子价格(有偿)
  • ¥15 vue+element 生成table
  • ¥15 实验 4 FIFO 算法和 LRU 算法-C 程序实现
  • ¥15 有偿拼接大疆精灵4RGB影像