Как здесь работает цикл?
Учусь java и не могу понять как работает цикл в этой программе? Как она выходит на ответ 15? Объясните пожалуйста пошагово, что-то не понимаю
public class HelloWorld {
public static void main(String[] args) {
int i;
int sum = 0;
for (i = 1; i <= 5; sum = sum+i, i++);
System.out.println("Сумма: " + sum);
}
}
Ответы (2 шт):
По сути, представленный алгоритм – арифметическая прогрессия.
Всего происходит пять итераций цикла. Каждый раз обновляются две переменные – sum и i.
Здесь происходит присвоение очередного значения: sum = sum + i:
- sum = 0 (sum) + 1 (i)
- sum = 1 (sum) + 2 (i)
- sum = 3 (sum) + 3 (i)
- sum = 6 (sum) + 4 (i)
- sum = 10 (sum) + 5 (i)
Тут можете закрепить знания циклов, если потребуется (в том числе рассматривается изменение нескольких переменных в контексте цикла).
Все дело в sum = sum+i
Первая итерация: 0 = 0 + 1 В итоге: sum = 1
Вторая итерация: 1 = 1 + 2 В итоге: sum = 3
Третья итерация: 3 = 3 + 3 В итоге: sum = 6
Четвертая итерация: 6 = 6 + 4 В итоге: sum = 10
Пятая итерация: 10 = 10 + 5 В итоге: sum = 15
Далее т.к. i уже равно 6 цикл прекращается и System.out.println() выводит последнее значение sum из пятой итерации