黑马程序员技术交流社区

标题: try catch finally 里面return的问题?” [打印本页]

作者: SunCowbee    时间: 2016-9-13 00:07
标题: try catch finally 里面return的问题?”
public static void main(String[] args) {
                        System.out.println(getNum());   //30
                }
               
                public static int getNum(){
                        int a = 10;
                        try {
                                a = 20;
                                System.out.println(1/0);
                                return a;
                        } catch (Exception e) {
                                System.out.println("123");
                                a = 30;
                                return a;        //关键点在于这里
                        }finally{
                                a = 40;
                        }
                }
求代码输出是多少?

作者: taozhihui    时间: 2016-9-13 00:56
结果为30...
作者: SunCowbee    时间: 2016-9-13 01:27
taozhihui 发表于 2016-9-13 00:56
结果为30...

为啥?不是finally的语句最后一定执行吗?
作者: zhoubinjian    时间: 2016-9-13 15:50
finally,是在打印的后面执行,finally里面的值怎么改变都没有影响的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2