专业的JAVA编程教程与资源

网站首页 > java教程 正文

java必考面试题:下面程序的输出是什么?

temp10 2024-11-03 15:11:48 java教程 24 ℃ 0 评论

package algorithms.com.guan.javajicu;

public class TestDemo{

java必考面试题:下面程序的输出是什么?

public static String output = ””;

public static void foo(inti)

{

try{

if (i == 1)

{

throw new Exception();

}

}

catch (Exception e) {

output += “2”;

return ;

} finally {

output += “3”;

}

output += “4”;

}

public static void main(String[] args){

foo(0);

foo(1);

System.out.println(output);

}

}

答案文章结尾给出。

解析如下:

首先是foo(0),在try代码块中未抛出异常,finally是无论是否抛出异常必定执行的语句,

所以 output += “3”;然后是 output += “4”;

执行foo(1)的时候,try代码块抛出异常,进入catch代码块,output += “2”;

前面说过finally是必执行的,即使return也会执行output += “3”

由于catch代码块中有return语句,最后一个output += “4”不会执行。

所以结果是3423

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表