为什么在Java中打印下面的语句 "2 + 2 = 22"
System.out.println("2 + 2 = " + 2 + 2);
Run Code Online (Sandbox Code Playgroud)
因为java'+'运算符首先在左侧分配:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html
所以
"2 + 2 = " + 2 + 2
Run Code Online (Sandbox Code Playgroud)
首先评估为
"2 + 2 = 2" + 2
Run Code Online (Sandbox Code Playgroud)
然后
"2 + 2 = 22"
Run Code Online (Sandbox Code Playgroud)
您想要的显式括号可以覆盖优先级规则
"2 + 2 = " + (2 + 2)
Run Code Online (Sandbox Code Playgroud)
你必须在这里给出优先顺序.这样,首先执行具有求和的括号,然后执行连接.否则它从左到右进行评估.最左边的文字是a String,你将你的数字连接到String导致上述结果的文字"2 + 2 = 22".
System.out.println("2 + 2 = " + (2 + 2));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
243 次 |
| 最近记录: |