光阴似箭催人老,日月如移越少年。
http://m.blog.csdn.net/articl...
図に示すように、1 に finally がない場合、return: は最初に try 内の内容を実行し、リターンされることを理解する必要があります。が実行されますが、実際の return はありません。 go は、finally のステートメントが実行され、その後 return を実行するため、上記の質問のように x1:1 が返され、この時点で return x++ が返されます。 1 ですが、finally はいずれにせよ実行されるので、すぐには戻りませんが、finally のステートメントが最初に実行され、その後 x3:3 が取得されます。 ただし、 の重要な点は です。 finally に return はありません。finally の x への変更は、前の return の値が 1 であるため、前の return の値に影響しません。したがって、後で x の値が最終的に変更されてから return が再度実行されたとしても、前の 1 は引き続き返されます。 つまり、出ても戻りは同じです2.に戻りがある場合。 : try が最初に実行され、return が実行されますが、この時点では実際の return はありません。その後、finally の return が実行されて直接戻ります。
finally
return
try
x1:1
x3:3
採用されることを願っています。
コードフロー変数の宣言x = 1この時点では例外をキャッチしてreturn x++を実行しましたx = 2が、x++の値は1でしたが、returnのアクションは実行されませんでした最後に実行され、x = 3、その後、returnはジャンプして戻ります。
x = 1
return x++
x = 2
x++
1
x = 3
最初に例外をスローし、次に x の値 (1) を返すと、クラス内の x が 1 ずつ増加します。これが正しいかどうかはわかりません。
return x++ 演算子。最初に左辺を返し、次に x が 1 ずつ増加します。 return ++xx は 2
式 ++X の意味は次のとおりです。X プラス 1、式の値は X プラス 1 です。
式 X++ の意味は、X プラス 1 ですが、式の値は X のままです。
1. try catchfinally に戻りがある場合は、最初に現在の値がスタックに保存されますが、後続のステートメントは引き続き実行され、finally のステートメントは常に実行されます。ただし、戻り値はあらかじめスタックに置かれているため、戻り値は 1 のままです。最後に try catch に return 文を入れると、異なる実行結果を順番に見ることができます。
http://m.blog.csdn.net/articl...
図に示すように、
1 に
finally
がない場合、return
:は最初に
try
内の内容を実行し、リターンされることを理解する必要があります。が実行されますが、実際の return はありません。 go は、finally のステートメントが実行され、その後 return を実行するため、上記の質問のようにx1:1
が返され、この時点で return x++ が返されます。 1 ですが、finally はいずれにせよ実行されるので、すぐには戻りませんが、finally のステートメントが最初に実行され、その後x3:3
が取得されます。 ただし、 の重要な点は です。 finally に return はありません。finally の x への変更は、前の return の値が 1 であるため、前の return の値に影響しません。したがって、後で x の値が最終的に変更されてから return が再度実行されたとしても、前の 1 は引き続き返されます。 つまり、出ても戻りは同じです2.に戻りがある場合。 :
try が最初に実行され、return が実行されますが、この時点では実際の return はありません。その後、finally の return が実行されて直接戻ります。
採用されることを願っています。
コードフロー
変数の宣言
x = 1
この時点では例外をキャッチして
return x++
を実行しましたx = 2
が、x++
の値は1
でしたが、return
のアクションは実行されませんでした最後に実行され、
x = 3
、その後、return
はジャンプして戻ります。最初に例外をスローし、次に x の値 (1) を返すと、クラス内の x が 1 ずつ増加します。これが正しいかどうかはわかりません。
return x++ 演算子。最初に左辺を返し、次に x が 1 ずつ増加します。 return ++xx は 2
を返す必要があります式 ++X の意味は次のとおりです。X プラス 1、式の値は X プラス 1 です。
式 X++ の意味は、X プラス 1 ですが、式の値は X のままです。
1. try catchfinally に戻りがある場合は、最初に現在の値がスタックに保存されますが、後続のステートメントは引き続き実行され、finally のステートメントは常に実行されます。ただし、戻り値はあらかじめスタックに置かれているため、戻り値は 1 のままです。最後に try catch に return 文を入れると、異なる実行結果を順番に見ることができます。