首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求解 如上函数执行过程

2012-12-26 
求解 如下函数执行过程int getInt(){int i 0try{i 1return i}finally{i 2}}我试了一下 返回值是

求解 如下函数执行过程
int getInt(){
    int i = 0;
    try{
        i = 1;
        return i;
    }
    finally{
        i = 2;
    }
}
我试了一下 返回值是1
但是我单步调试的时候运行如下
1.i = 1
2.return i
3. i = 2
4. return i
哪位大神能给我解释一下啊/?????
[解决办法]
finally后面的是一定执行的。但是变量i前面没有return 关键字,所以只是把变量i重新赋值为2;你在finally里面加上return 返回值就是2了;
[解决办法]
先执行try块里的程序return 回i的值,为1;然后执行finally块里的程序,将变量i赋值为2;
[解决办法]
首先谢谢啊。
我也知道在finally里returni 就是返回2
但是,在finally里没有return的时候
程序会两次执行到try块里的return i
第二次是在finally里的i变成2 之后 又跳到了try里return i
那按理说应该函数返回的是2 啊???
[解决办法]
您可以单步调试一下。。。我是彻底蒙圈了

热点排行