您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java在输出String和方法返回时,为什么方法首先返回输出?

Java在输出String和方法返回时,为什么方法首先返回输出?

首先要注意的是,当+对两个操作数使用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(..)输出到你的程序的标准的输出方法

java 2022/1/1 18:28:20 有422人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶