Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int sum = 0;
for (int x : a) {
x = x * 10;
sum = sum + x;
}
System.out.println(a[0] + " " + sum);
}
}1 60
- Ждать
10 60: переменная for-each хранит копию элемента, поэтомуx = x * 10меняет копию, а массив остаётся{1, 2, 3}. - Ждать ошибку компиляции: переменную for-each можно менять; присваивание ей компилируется, но до массива не доходит.
- Как переписать цикл, чтобы он умножил на 10 каждый элемент массива?
- Что изменится, если заголовок цикла будет
for (final int x : a)?