首先要注意的是,当
+对两个操作数使用a时
String,两个操作数之一是a ,表达式的结果是a
String。
因此,在以下方法中调用表达式
System.out.println("Mult:" + test1(4));您正在调用,
PrintStream#println(String)因为它
out是type的变量
PrintStream。注意该方法如何接受单个
String参数。因此,
String
必须从解决
String的级联
"Mult:" + test1(4)
为此,
test1(4)必须执行该方法。
public static int test1(int n){ System.out.println("N:" + n); return n*2;}该方法再次使用,
PrintStream#println(String)但带有参数
"N:" + n
这是另一个
String产生
String价值的串联
"N:4"
为此特定的调用。
String然后,将产生的值用作该
println(..)方法的参数,该方法将其输出到程序的标准输出。
然后该方法返回该值
8,因为
4 * 2 = 8。
该返回值就是调用该
test1(4)方法的值。所以
System.out.println("Mult:" + test1(4));相当于
System.out.println("Mult:" + 8);然后
String发生串联,转换
"Mult:" + 8
转化为
String价值
"Mult:8"
这
String随后被用作单一的参数传递给
println(..)它输出到你的程序的标准的输出方法。



