public class Main {
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i<=5; sum+= i){
System.out.println("i: "+i);
i++;
System.out.println("sum: "+ sum);
}
System.out.println("sum: "+ sum);
}
Сумма чисел от 0 до 5, правильный ответ должен быть 15.
В последний момент перемнная i=6, что не соответствует условиям цикла, и цикл должен бы закончится, но он почему-то всёравно добавляет эту 6. Что я не понимаю?
katlamaja
5 уровень
for
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia Volkova Java Developer в DXC Master
15 июля 2021, 21:20
sum+= i выполняется в конце итерации, а проверка i<=5 - в начале
0
katlamaja
15 июля 2021, 21:33
если в начпле i=6 не прошло проверку, то почему sum+= i выполнилось в конце итерации?
0
Ksenia Volkova Java Developer в DXC Master
16 июля 2021, 05:06
В начале прошло проверку 5.
Внутри цикла 5 превратилось в 6.
В конце итерации 6 добавилось к сумме.
---------------
В начале следующей итерации 6 не прошло проверку, цикл завершился.
0
katlamaja
16 июля 2021, 08:19
спасибо
0