Java のメソッドで変数の値を変更することについて質問があります。
これは私のコードです:
public class Test {
public static void funk(int a, int[] b) {
b[0] = b[0] * 2;
a = b[0] + 5;
}
public static void main(String[] args) {
int bird = 10;
int[] tiger = {7};
Test.funk(bird, tiger);
}
}
メソッドの実行後、Test.funk(bird, tiger)
bird の値は変更されません。メソッドで値を変更して10
も、値はそのままです。funk()
a = b[0] + 5;
一方、ステートメントがあるため、配列内の要素の値は変更されます。b[0] = b[0] * 2;
なぜ一方が変化し、もう一方が変化しないのか理解できませんか?誰かが私のためにこれを説明してもらえますか.