当你将一个字符串和一个整数相加时,它会执行“字符串连接”,它将你的整数转换为一个字符串并将其粘贴在另一个字符串的末尾。
"Case 1" + 12
... 是相同的
"Case 1" + "12"
因此,您的结果将是第一个带有字符的字符串12
。
因此: Case 112
来自关于字符串的 Java 文档:
“Java 语言为字符串连接运算符 (+) 以及其他对象到字符串的转换提供了特殊支持。字符串连接是通过 StringBuffer 类及其 append 方法实现的。字符串转换是通过 Object 定义的 toString 方法实现的并由 Java 中的所有类继承。有关字符串连接和转换的更多信息,请参阅 Gosling、Joy 和 Steele,Java 语言规范。
但小心点!从左到右添加作品,那么接下来会打印什么?
System.out.println(1 + 2 + "test" + 3 + 4);
首先,它确实1 + 2
,它等于3
。
然后它会3
(最后一步的结果)+ "test"
,这会导致"3test"
接下来,它会执行"3test" + 3
,这会导致"3test3"
。
最后,"3test3 + 4
是"3test34
。
如您所见,在事物周围加上括号以确保它们按您想要的顺序出现是个好主意。
(1 + 2) + "test" + (3 + 4)
将是“3test7”,因为括号中的数学具有优先权。