加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java String与运算符的连接

发布时间:2020-12-14 05:02:25 所属栏目:Java 来源:网络整理
导读:我对String连接感到困惑. String s1 = 20 + 30 + "abc" + (10 + 10);String s2 = 20 + 30 + "abc" + 10 + 10;System.out.println(s1);System.out.println(s2); 输出是: 50abc20 50abc1010 我想知道为什么在这两种情况下都会将20 30加在一起,但10 10需要括号
我对String连接感到困惑.
String s1 = 20 + 30 + "abc" + (10 + 10);
String s2 = 20 + 30 + "abc" + 10 + 10;
System.out.println(s1);
System.out.println(s2);

输出是:

50abc20
50abc1010

我想知道为什么在这两种情况下都会将20 30加在一起,但10 10需要括号才能被添加(s1)而不是连接到字符串(s2).请解释String运算符如何在这里工作.

解决方法

加法是左联的.采取第一种情况
20+30+"abc"+(10+10)
-----       -------
  50 +"abc"+  20    <--- here both operands are integers with the + operator,which is addition
  ---------
  "50abc"  +  20    <--- + operator on integer and string results in concatenation
    ------------
      "50abc20"     <--- + operator on integer and string results in concatenation

在第二种情况:

20+30+"abc"+10+10
-----
  50 +"abc"+10+10  <--- here both operands are integers with the + operator,which is addition
  ---------
   "50abc"  +10+10  <--- + operator on integer and string results in concatenation
    ----------
    "50abc10"  +10  <--- + operator on integer and string results in concatenation
     ------------
      "50abc1010"   <--- + operator on integer and string results in concatenation

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读