连接字符串和数字Java
为什么在这些情况下输出不同?
int x=20,y=10;
System.out.println("printing: " + x + y);
==> 印刷:2010年
System.out.println("printing: " + x * y);
==> 打印:200
为什么第一个输出不是30?它与运算符优先级有关吗?就像首先将“ printing”和x连接在一起,然后将结果字符串和y连接在一起?我对么?
回答:
它的BODMAS
规则
B - Bracket O - Power
DM - Division and Multiplication
AS - Addition and Substraction
Left to Right
*
现在
System.out.println("printing: " + x + y);
"printing: "
:是字符串”
"+"
:是Java中唯一将Number连接到String的重载运算符。因为我们这里有2个“ +”运算符,并且x + y落在"printing:"
+已经发生的位置之后,它也将x和y视为字符串。
因此输出为
System.out.println("printing: " + x * y);
在这里
"*"
:优先级高于 +
因此,它的x*y
则printing: +
所以输出是
System.out.println("printing: "+ (x+y));
该 Bracket
是 到Addition
。
以上是 连接字符串和数字Java 的全部内容, 来源链接: utcz.com/qa/416507.html