下記のソースを実行すると10が表示されるのですが、なぜ20ではないのでしょうか?
sampleメソッドでの変数valのスコープはtryキャッチfinallyのvalにはなぜ影響しないのでしょうか?
- public class Main {
-
public static void main(String[] args) { -
int result = sample(); -
System.out.println(result); - }
- private static int sample() {
-
int val = 0; -
try{ -
String() array = ("A", "B", "C"); -
System.out.println(array([3]); -
} catch (RuntimeException e) { -
val = 10: -
return val; -
} finally { -
val += 10: -
} -
return val;; - }
- }
回答3件
あなたの回答
tips
プレビュー