Java 当在print语句中写入方法签名时,输出是什么?
好了,这太令人困惑了。我曾经记得当方法签名写在print语句中时,它只打印该方法的返回值,而不是按原样打印方法本身,它只打印返回值。我们不能在print语句中编写一个不返回任何值的方法Java 当在print语句中写入方法签名时,输出是什么?,java,Java,好了,这太令人困惑了。我曾经记得当方法签名写在print语句中时,它只打印该方法的返回值,而不是按原样打印方法本身,它只打印返回值。我们不能在print语句中编写一个不返回任何值的方法 但是现在我看到它完全不同了,我确信当上面的不正确时,它会给出一个错误。但是现在,当我在print语句中编写方法时,不仅返回值,而且方法中打印的值也会被打印出来。。。这是怎么发生的?这是意料之中的。下面是一个例子: private String hello() { System.out.println("h
但是现在我看到它完全不同了,我确信当上面的不正确时,它会给出一个错误。但是现在,当我在print语句中编写方法时,不仅返回值,而且方法中打印的值也会被打印出来。。。这是怎么发生的?这是意料之中的。下面是一个例子:
private String hello() {
System.out.println("hello");
return "world";
}
System.out.println(hello());
那么执行这一行时会发生什么呢?您要求代码打印字符串类型的表达式hello。因此,它首先通过执行hello对表达式求值,然后将求值结果打印到System.out。首先执行hello
hello做的第一件事是将hello打印到System.out。这就是发生的事情。然后hello返回world,这个返回值被打印到System.out。所以最终的结果是
hello
world
正在印刷
这不是魔术,方法所做的不会改变它是否在print语句中被调用。如果执行了一个方法并将其写入System.out,那么不管调用它的方式如何,它都会写入System.out 请给我们看一些代码。