Есть код. На выводе получается последовательное возведение 2 в степень (10 раз). Но ведь значение переменной res присваивается в цикле, по логике (моей), оно должно каждый раз присваиваться заново, но вместо этого увеличивается. Объясните доступно, пожалуйста, почему так происходит, почему сохраняется результат последнего перемножения.
public class Quadro {
public static void main(String[] args) {
int e, res;
for(int i=0; i<10; i++) {
res=1;
e=i;
while(e>0){
res*=2;
e--;
}
System.out.println(res);
}
}
}
Оно и присваивается заново. А вот e всё время растёт, т.к. i растёт. А т.к. res на 2 умножается столько раз, каково у нас значение e, то в каждой итерации цикла res становится больше в 2 раза на момент выхода из текущей итерации.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости