扫码关注官方订阅号
光阴似箭催人老,日月如移越少年。
代码流程声明变量 x = 1抓到异常 执行return x++ 此时x = 2,但是x++这个值是1,但是没有执行return这个动作finally 执行, x = 3, 然后return跳回.
x = 1
return x++
x = 2
x++
1
return
x = 3
先抛出异常,然后先返回x值(1),之后类里面的x再自增1,不知道对不对,我也是初学。
return x++运算符,先左边返回,然后x自增1。return ++x应该返回2
表达式++X的含义是:X加一,且表达式的值为X加一;
表达式X++的含义是:X加一,但表达式的值仍为X。
1.在try catch finally中的任何地方有return的地方,都是先把当前值保存到栈中,但是并不是立即返回,后面的依旧会执行,finally中的语句始终会被执行。但是返回的值,已经事先放在了栈中的,所以返回的依然是1,你把return 语句分别放在try catch finally中,可以依次看到执行不同的结果。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
代码流程
声明变量
x = 1抓到异常 执行
return x++此时x = 2,但是x++这个值是1,但是没有执行return这个动作finally 执行,
x = 3, 然后return跳回.先抛出异常,然后先返回x值(1),之后类里面的x再自增1,不知道对不对,我也是初学。
return x++运算符,先左边返回,然后x自增1。return ++x应该返回2
表达式++X的含义是:X加一,且表达式的值为X加一;
表达式X++的含义是:X加一,但表达式的值仍为X。
1.在try catch finally中的任何地方有return的地方,都是先把当前值保存到栈中,但是并不是立即返回,后面的依旧会执行,finally中的语句始终会被执行。但是返回的值,已经事先放在了栈中的,所以返回的依然是1,你把return 语句分别放在try catch finally中,可以依次看到执行不同的结果。