gpt4 book ai didi

java - Java 急切评估 : How does this example work?

转载 作者:行者123 更新时间:2023-12-01 12:20:44 26 4
gpt4 key购买 nike

如果我有一个 Java 方法:

public void foo (int a)
{
//do something
}

然后我调用这个方法:

foo (2/0)  or foo (2/4)

2/02/4 何时进行评估?在进入函数的输入之前是否对其进行评估?或者它在调用该函数之前会被评估吗? (那么它是在函数内部还是外部进行评估?)

<小时/>

此外,请考虑:

if  (true) then { A } else { B }

我知道 A 将会被评估。然而,即使 java 是一种急切的语言,B 也不会被评估?

谢谢!

最佳答案

foo (2/0)foo (2/4) 可能会由编译器计算并替换为常量结果(尽管前者应该导致 ArithmeticException 在运行时,所以我不确定编译器如何处理它。一般来说, foo(a/b) 将在 a 的结果之前计算/b 被传递给 foo

在您的 if 语句中,如果条件为真,则不会评估 B,这是正确的。

关于java - Java 急切评估 : How does this example work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26668535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com