Видео: Стандарт C++11/14: универсальная инициализация, лямбда выражения, стандартная библиотека 2025
Если вы застряли на пустынном острове Ява с одним типом цикла, какой бы вы хотели? Ответ в том, что вы можете ладить с любым типом цикла. Выбор между циклами
и
и циклом
для
- это стиль и эффективность кода. Дело не в необходимости.
Все, что вы можете сделать с помощью цикла
для
, вы можете сделать с циклом
в то время как
. Рассмотрим, например, эту цепочку
fo
r. Вот как вы можете добиться такого же эффекта с помощью
в то время как цикл
:
int count = 0;
, тогда как (count <10 ) {
. печать («Я жевал»);
из. печати (количество);
из. println («время (ы)»);
Количество ++;
}
В цикле
while
у вас есть явные инструкции для объявления, инициализации и увеличения переменной
count
.
Такой же трюк работает наоборот. Все, что вы можете сделать с циклом
while
, вы можете сделать с помощью цикла
для
. Но превращение определенных
в то время как
петли в
для
петли кажутся напряженными и неестественными. Рассмотрим этот
while
loop:
while (total <21) {
card = myRandom. nextInt (10) + 1;
всего + = карточка;
Система. вне. печать (карта);
Система. вне. Распечатать(" ");
Система. вне. Println (всего);
}
Включение этого цикла в цикл
для
означает тратить большую часть содержимого внутри круглых скобок
для
:
for (; total <21;) {
card = myRandom. nextInt (10) + 1;
всего + = карточка;
Система. вне. печать (карта);
Система. вне. Распечатать(" ");
Система. вне. Println (всего);
}
Предыдущий цикл
для
имеет условие, но у него нет инициализации и обновления. Это нормально. Без инициализации ничего особенного не происходит, когда компьютер сначала входит в цикл
для
. И без обновления ничего особенного не происходит в конце каждой итерации. Странно, но это работает.
Обычно, когда вы пишете оператор
для
, вы подсчитываете, сколько раз повторять что-то. Но, по правде говоря, вы можете сделать почти любое повторение с помощью инструкции
для
.
