以下代码执行的结果显示是多少()?
public class Demo{ public static void main(String[] args){ System.out.print(getNumber(0)); System.out.print(getNumber(1)); System.out.print(getNumber(2)); System.out.print(getNumber(4)); } public static int getNumber(int num){ try{ int result = 2 / num; return result; }catch (Exception exception){ return 0; }finally{ if(num == 0){ return -1; } if(num == 1){ return 1; } } } }
-1,1,1,0
-1110
无论有无异常,finally都是最后执行,如果finally也有return就会将前面的return结果覆盖
本来还对4楼发言表示怀疑的,自己做了个小实验发现确实是对的,但是以前学C++的时候一般函数return了就结束了,不会再执行其他东西,这里的finally还比较特殊
Sign in to make a reply
🌙
以下代码执行的结果显示是多少()?