gpt4 book ai didi

java - 字符串输出与 + 混淆

转载 作者:行者123 更新时间:2023-12-01 06:50:23 30 4
gpt4 key购买 nike

公共(public)类测试2 { 公共(public)静态无效主(字符串[]参数){

    System.out.println("3 + 6"); 
System.out.println(3 + 6);
System.out.println(3 + 6 + "buffer");
System.out.println("buffer" + 3 + 6);
System.out.println("buffer " + (3 + 6));
}


}

输出

 System.out.println(3 + 6 + "buffer");

9 buffer

的输出
System.out.println("buffer" + 3 + 6);

buffer 36

为什么有区别?以及为什么

System.out.println(3 + 6);

输出为

9

最佳答案

算术运算符从左到右解析。当您对字符串执行 + 时,它会作为字符串附加。

System.out.println(3 + 6 + "buffer"); 

那就变成了

System.out.println(  9 + "buffer"); 

当你这样做

System.out.println("buffer" + 3 + 6); 

计算结果为

 //  "buffer3" + 6
// "buffer36"

 System.out.println(3 + 6)

没有字符串连接。所以直接整数加法就发生了。

如果出现

System.out.println("buffer " + (3 + 6)); 

您在 3+6 中添加了括号。由于优先级较高,括号中的表达式首先计算。因此就变成了

System.out.println("buffer " + 9); 

关于java - 字符串输出与 + 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32882684/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com