当前位置: 首页 > 面试题库 >

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

景明诚
2023-03-14
问题内容

在下面的代码中,如果字符串"Mult"test1(4)方法调用之前出现,为什么方法在字符串之前输出?为什么它会跳出输出方法的第一部分的形式,然后离开方法以输出字符串,然后返回到方法以输出方法的返回值?

码:

public class Scratch{
  public static void main(String[] args){
    System.out.println("Mult:" + test1(4));
  }

  public static int test1(int n){
    System.out.println("N:" + n);
    return n*2;
  }
}

输出:

N:4
Mult:8

问题答案:

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



 类似资料:
  • 我为我的密码学初学者水平道歉 在我的项目中,我发现在将密码插入数据库之前需要对密码进行散列,因此我搜索了顶级散列算法,发现了PBKFD2和salt方法。 我这样做的方法是生成随机64char Salt并使用它来散列密码。然后将哈希密码和salt存储在我的数据库中。(注:注册时也会生成密码。这不是我的选择) 登录时,我的Servlet获取密码,然后用数据库中存储的salt散列它。但是我得到了不同的结

  • 问题内容: 我正在编写一个PHP脚本,用于通过Linux shell命令使用PHP调用它来检查网络连接: 我没有从ping获得错误消息的输出,这是我期望的: 如果该域是一个很好的域,例如yahoo.com,则将ping中的输出输出到数组中。但是,如果这是一个错误,例如它不会返回到数组。 为什么会发生这种情况,有更好的方法吗? 问题答案: 您应该将stderr重定向到stdout。 为此,请像这样更

  • 在.NET Framework 4.5中,由Trim()方法调用的专用TrimHelper()方法使用以下条件来确定是否需要修剪字符:(由.NET Reflector反编译的代码) 我想知道为什么IsBOMWhitesspace方法总是返回false?? 这是微软计划在未来改变/扩展的吗?例如,通过检查char是否为‘u efff’并在这种情况下返回true?

  • 问题内容: DO (等类似的功能和)的工作一样,还是他们返回元素的数组? 我问的原因是因为我试图使用更改所有元素的样式。见下文。 问题答案: 您的代码可以正常工作,因为ID必须是唯一的,因此该函数始终仅返回一个元素(或者如果找不到元素)。 然而,,,和其他方法返回元件的阵列状的集合。像使用真实数组那样对其进行迭代: 如果您喜欢较短的内容,请考虑使用jQuery:

  • 问题内容: 我有一类这样的方法: 我如何在另一个类中调用此方法? 问题答案: 1. 如果要从中调用该方法的类位于同一包中,则创建该类的实例并调用该方法。 2. 使用 3. 最好有个赞等等。 例如:

  • 本文向大家介绍什么是方法的返回值?返回值在类的方法里的作用是什么?相关面试题,主要包含被问及什么是方法的返回值?返回值在类的方法里的作用是什么?时的应答技巧和注意事项,需要的朋友参考一下 方法的返回值是指我们获取到的某个方法体中的代码执行后产生的结果!(前提是该方法可能产生结果)。 返回值的作用: 接收出结果,使得它可以用于其他的操作!