Код: Выделить всё
y:[result]; y: [result]; y:[result]; x:[result]; a:[result]
Код: Выделить всё
public class Main {
static int x = 2;
public static void main(String[] args) {
int[] a = {17, 43, 12};
foo(a[x]);
foo(x);
foo(a[x]);
System.out.println("x:" + x);
System.out.println("a:" + Arrays.toString(a));
}
static void foo(int y) {
x = x - 1;
y = y + 2;
if (x < 0) {
x = 5;
} else if (x > 20) {
x = 7;
}
System.out.println("y:" + y);
}
}.
Во всяком случае, вот один:
Код: Выделить всё
foo(a[x])Код: Выделить всё
foo(x)Код: Выделить всё
foo(a[x])Массив a преобразуется в 17,43,14.
Итак, результаты будут такими:
Код: Выделить всё
y : 14; y : 3; y : ?; x : 2; a : 17,43,14
Подробнее здесь: https://stackoverflow.com/questions/782 ... -confusion
Мобильная версия