gpt4 book ai didi

java - 为什么 java 在 System out 语句中遇到字符串后就开始将所有内容视为字符串?

转载 作者:行者123 更新时间:2023-12-01 05:00:00 25 4
gpt4 key购买 nike

我正在学习java并且每天都在练习,我写了下面的代码并且想知道输出结果

class test
{
public static void main(String args[])
{
System.out.println(1+2+ " = " +10+2);
}
}

这里的输出是3=102,并且想知道下面的“一旦在系统输出语句中遇到字符串,Java 就开始将所有内容视为字符串”

谁能解释一下?我很困惑为什么它接受它作为字符串?

最佳答案

Java 在不考虑表达式类型的情况下解析程序文本。作为动机,考虑它们是否是在类中的方法之后编写的字段。因此,由于字符串连接和加法共享相同的运算符,我们有

1+2+ " = " +10+2

相当于

((((1+2)+ " = ") +10)+2)

折叠常数,我们有

(((3+ " = ") +10)+2)
(("3 = " +10)+2)
("3 = 10"+2)
"3 = 102"

关于java - 为什么 java 在 System out 语句中遇到字符串后就开始将所有内容视为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14040971/

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