gpt4 book ai didi

java - 尝试/最后 - 工作面试

转载 作者:行者123 更新时间:2023-12-01 18:23:18 27 4
gpt4 key购买 nike

我正在经历几个在工作面试中经常被问到的问题(至少在我的国家 - 瑞士),并且我非常不确定一段应该很棘手的代码块的输出。很高兴听到您认为正确的答案是什么。

这里是:

 public class LanguageTest12 {

public static void main(String... args){
System.out.println(foo());
}

private static int foo() {
int a = 1, b = 2;
try {
return a+b;
} finally {
a = 10;
b = 20;
return a+b;
}
}
}

但是我知道答案一定是这三种可能性之一:

  1. 3
  2. 30
  3. 33

(PS:以防万一有人感兴趣,这里是所有问题:http://se.inf.ethz.ch/courses/2014a_spring/JavaCSharp/exercise_sessions/ExerciseSession5.pdf)

最佳答案

finally block 用于必须始终运行的代码,无论是否发生错误条件(异常)。

finally block 中的代码在 try block 完成后运行,如果发生捕获的异常,则在相应的 catch block 完成后运行。即使在 try 或 catch block 中发生未捕获的异常,它也应该始终运行(除非您在 try block 中得到 System.exit(0) ,因为它会在转到应用程序之前关闭应用程序)最后阻止)。

所以你的答案是 2. 30

关于java - 尝试/最后 - 工作面试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27024824/

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