的System.out.println( "HI" + 6 + 10); 打印Hi610?

Dev*_*ted 4 java

为什么这样做?所以很有说服力.

Pla*_*ure 17

运算符优先级和关联性.

两点:

  • +如果一个或两个参数是字符串,则运算符执行字符串连接.
  • 操作员+从左到右工作.

所以在你的例子中,"Hi"+6"Hi6","Hi6"+10"Hi610".

编辑:正如你在另一个答案的评论中所说:如果数字是第一个,那么首先进行数字加法,因为最左边的两个操作数是数字.然后,仅在最后,发生字符串连接.因此产量"16Hi".

  • 另外:如果你想要'Hi16`,试试`System.out.println("Hi"+(6 + 10)); (3认同)