У меня возникает вопрос об изменении значений переменных в методах в 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)
значение птицы не изменяется - оно остается со значением 10
, хотя в методе funk()
мы изменили значение с помощью a = b[0] + 5;
С другой стороны, значение элемента в массиве изменяется, потому что мы имеем оператор b[0] = b[0] * 2;
Я не понимаю, почему одна вещь меняется, а другая нет? Не мог бы кто-нибудь объяснить это мне.