我正在学习java并且每天练习它,我写了下面的代码,并想知道输出
class test
{
public static void main(String args[])
{
System.out.println(1+2+ " = " +10+2);
}
}
Run Code Online (Sandbox Code Playgroud)
这里的输出是3 = 102,并且想知道以下"Java一旦在System out语句中遇到字符串就开始将所有内容视为字符串"
任何人都可以解释这个吗?我很困惑为什么它接受它作为字符串?
Java解析程序文本而不考虑表达式的类型.作为动机,考虑它们是否是在课堂上的方法之后编写的字段.因此,由于字符串连接和添加共享相同的运算符,我们有
1+2+ " = " +10+2
Run Code Online (Sandbox Code Playgroud)
相当于
((((1+2)+ " = ") +10)+2)
Run Code Online (Sandbox Code Playgroud)
折叠常数,我们有
(((3+ " = ") +10)+2)
(("3 = " +10)+2)
("3 = 10"+2)
"3 = 102"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |