Javaの基本応用問題
以下のコードを実行したとき、何が出力されますか? ```java public class CalcTest { public static int calculate(int x) { x = x * 2; return x + 5; } public static void main(String[] args) { int num = 10; int result = calculate(num); System.out.println(num); System.out.println(result); } } ```
A.10
25← 正解
✓ 正解です。プリミティブ型は値渡しされるため、calculateメソッド内のxの変更は元のnumに影響しません。numは10のまま、resultは(10*2)+5=25です。
B.20
25
✗ numは20にはなりません。メソッドにはnumの値が渡されているため、メソッド内での変更は元の変数に影響しません。
C.10
20
✗ resultは20ではなく25です。calculateメソッドは受け取った値に2を掛けて5を加えるため、(10*2)+5=25となります。
D.20
45
✗ numはメソッド内で変更されておらず、10のままです。値渡しだからです。