java - 问题如图,为什么返回值是1
大家讲道理
大家讲道理 2017-04-18 09:56:11
0
7
311

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(7)
左手右手慢动作

http://m.blog.csdn.net/articl...

PHPzhong

Comme le montre la figure, tout d'abord, vous devez comprendre que lorsqu'il n'y a pas de
dans finally1, return :
exécutera d'abord le contenu à l'intérieur de try, et le retour sera exécuté mais il n'y a pas de véritable retour. À ce moment, go L'instruction infinal est exécutée, puis revient pour exécuter return, comme dans la question ci-dessus x1:1, puis renvoie x++ à ce moment-là ; 1, mais final sera exécuté de toute façon, donc il ne revient pas immédiatement, mais l'instruction in final est exécutée en premier, puis x3:3 est obtenue. Cependant, le point clé de est : parce qu'il y a. pas de retour finalement, le changement en x dans finalement n'affectera pas la valeur du retour précédent, car le retour précédent Ce qui sort est 1 donc même si la valeur de x est finalement modifiée plus tard, puis le retour est à nouveau exécuté, le précédent 1 sera toujours restitué. C'est-à-dire que le retour est le même numéro lorsqu'il s'éteint. Il ne changera pas à moins qu'il ne soit finalement renvoyé
2 Lorsqu'il y a retour dans . enfin :
Le try sera exécuté en premier, le retour sera exécuté mais il n'y a pas de réel retour à ce moment, le final sera exécuté, puis le retour dans final sera exécuté et reviendra directement.

J'espère qu'il sera adopté.

阿神

Flux de code
Déclarer les variablesx = 1
Attrapé l'exception et exécuté return x++ à ce moment x = 2, mais la valeur de x++ était 1, mais l'action de return n'a pas été exécuté
exécute finalement, x = 3, puis return revient en arrière.

伊谢尔伦

Lancez d'abord une exception, puis renvoyez la valeur x (1), puis x dans la classe augmentera de 1. Je ne sais pas si c'est vrai ou non, je suis aussi un débutant.

刘奇

opérateur return x++, renvoie d'abord le côté gauche, puis x augmente de 1. return ++x devrait renvoyer 2

巴扎黑

La signification de l'expression ++X est : X plus un, et la valeur de l'expression est X plus un

La signification de l'expression X++ est : X plus un, mais la valeur de l'expression est toujours X.

小葫芦

1. Partout où il y a un retour dans try catch finalement, la valeur actuelle est d'abord enregistrée dans la pile, mais elle ne revient pas immédiatement. Les instructions suivantes seront toujours exécutées et les instructions dans final seront toujours exécutées. Cependant, la valeur de retour a été placée sur la pile à l'avance, donc la valeur de retour est toujours 1. Si vous placez les instructions de retour dans try catch enfin, vous pouvez voir différents résultats d'exécution dans l'ordre.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal